From 26eebce98f1e5fc924c5141fbe3f400f8f0cfde8 Mon Sep 17 00:00:00 2001 From: Yorick Date: Mon, 15 Jul 2019 23:16:58 +0200 Subject: [PATCH] Upgrade to tensorflow 1.14.0 (#244) * add curl, unzip, zlib1g-dev to dockerfiles --- ChangeLog.md | 4 ++++ README.md | 2 +- ci_build/Dockerfile | 10 +++++++--- docker/Dockerfile | 10 +++++++--- docker/gpu/Dockerfile | 12 ++++++++---- tensorflow-core-ops/Setup.hs | 25 ++++++++++++++++++++++++- third_party/tensorflow | 2 +- tools/install_macos_dependencies.sh | 2 +- 8 files changed, 53 insertions(+), 14 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 4236821..116f062 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,5 +1,9 @@ # ChangeLog +## v0.2.0.1 +- Switch to tensorflow 1.14.0. +- Compatibility with stackage LTS-13.13. + ## v0.2.0.0 - Switch to tensorflow 1.9. - Switch to proto-lens 0.2.2. diff --git a/README.md b/README.md index bbf3482..8e8f2ac 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ stack --docker --docker-image=$IMAGE_NAME build --exec Main If you want to use GPU you can do: ``` -IMAGE_NAME=tensorflow/haskell:1.9.0-gpu +IMAGE_NAME=tensorflow/haskell:1.14.0-gpu docker build -t $IMAGE_NAME docker/gpu ``` diff --git a/ci_build/Dockerfile b/ci_build/Dockerfile index 3d6c1a8..c9011aa 100644 --- a/ci_build/Dockerfile +++ b/ci_build/Dockerfile @@ -3,7 +3,7 @@ # stack to be installed on the host. This comes at the expense of # flexibility. -FROM tensorflow/tensorflow:1.9.0 +FROM tensorflow/tensorflow:1.14.0 LABEL maintainer="TensorFlow authors " # The build context directory is the top of the tensorflow-haskell @@ -22,6 +22,10 @@ RUN \ # Makes stack viable in the container libgmp-dev \ libcurl3-dev \ + zlib1g-dev \ + # For fetching dependencies + curl \ + unzip \ # Required for tcp connections by stack (See: https://github.com/tensorflow/haskell/issues/182) netbase \ && \ @@ -32,8 +36,8 @@ RUN \ curl -O -L https://github.com/google/protobuf/releases/download/v3.2.0/protoc-3.2.0-linux-x86_64.zip && \ unzip -d /usr/local protoc-3.2.0-linux-x86_64.zip bin/protoc && \ chmod 755 /usr/local/bin/protoc && \ - curl -O https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-1.9.0.tar.gz && \ - tar zxf libtensorflow-cpu-linux-x86_64-1.9.0.tar.gz -C /usr/local && \ + curl -O https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-1.14.0.tar.gz && \ + tar zxf libtensorflow-cpu-linux-x86_64-1.14.0.tar.gz -C /usr/local && \ ldconfig && \ stack setup && \ stack test --only-dependencies diff --git a/docker/Dockerfile b/docker/Dockerfile index b3846a2..653990c 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,6 +1,6 @@ # Prepare the image with: # docker build -t tensorflow/haskell:v0 docker -FROM tensorflow/tensorflow:1.9.0 +FROM tensorflow/tensorflow:1.14.0 LABEL maintainer="TensorFlow authors " RUN apt-get update @@ -12,6 +12,10 @@ RUN apt-get install -y \ libncurses5-dev \ # Makes stack viable in the container libgmp-dev \ + zlib1g-dev \ + # For fetching dependencies + curl \ + unzip \ # Required for locales configuration. locales \ # Required for tcp connections by stack (See: https://github.com/tensorflow/haskell/issues/182) @@ -27,8 +31,8 @@ RUN \ curl -O -L https://github.com/google/protobuf/releases/download/v3.2.0/protoc-3.2.0-linux-x86_64.zip && \ unzip -d /usr/local protoc-3.2.0-linux-x86_64.zip bin/protoc && \ chmod 755 /usr/local/bin/protoc && \ - curl -O https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-1.9.0.tar.gz && \ - tar zxf libtensorflow-cpu-linux-x86_64-1.9.0.tar.gz -C /usr/local && \ + curl -O https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-1.14.0.tar.gz && \ + tar zxf libtensorflow-cpu-linux-x86_64-1.14.0.tar.gz -C /usr/local && \ ldconfig ENV LANG en_US.UTF-8 diff --git a/docker/gpu/Dockerfile b/docker/gpu/Dockerfile index bf8f46d..8f97855 100644 --- a/docker/gpu/Dockerfile +++ b/docker/gpu/Dockerfile @@ -1,6 +1,6 @@ # Prepare the image with: -# docker build -t tensorflow/haskell:1.9.0-gpu docker/gpu -FROM tensorflow/tensorflow:1.9.0-gpu +# docker build -t tensorflow/haskell:1.14.0-gpu docker/gpu +FROM tensorflow/tensorflow:1.14.0-gpu LABEL maintainer="TensorFlow authors " RUN apt-get update @@ -14,6 +14,10 @@ RUN apt-get install -y \ libncurses5-dev \ # Makes stack viable in the container libgmp-dev \ + zlib1g-dev \ + # For fetching dependencies + curl \ + unzip \ # Required for locales configuration. locales @@ -27,8 +31,8 @@ RUN \ curl -O -L https://github.com/google/protobuf/releases/download/v3.2.0/protoc-3.2.0-linux-x86_64.zip && \ unzip -d /usr/local protoc-3.2.0-linux-x86_64.zip bin/protoc && \ chmod 755 /usr/local/bin/protoc && \ - curl -O https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-linux-x86_64-1.9.0.tar.gz && \ - tar zxf libtensorflow-gpu-linux-x86_64-1.9.0.tar.gz -C /usr/local && \ + curl -O https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-linux-x86_64-1.14.0.tar.gz && \ + tar zxf libtensorflow-gpu-linux-x86_64-1.14.0.tar.gz -C /usr/local && \ ldconfig ENV LANG en_US.UTF-8 diff --git a/tensorflow-core-ops/Setup.hs b/tensorflow-core-ops/Setup.hs index 9a5b036..5dbb34e 100644 --- a/tensorflow-core-ops/Setup.hs +++ b/tensorflow-core-ops/Setup.hs @@ -91,6 +91,18 @@ fudgePackageDesc lbi p = p blackList = [ -- Requires the "func" type: "FilterDataset" + , "BatchFunction" + , "Case" + , "ChooseFastestBranchDataset" + , "ExperimentalGroupByReducerDataset" + , "ExperimentalGroupByWindowDataset" + , "ExperimentalMapAndBatchDataset" + , "ExperimentalMapDataset" + , "ExperimentalNumaMapAndBatchDataset" + , "ExperimentalParallelInterleaveDataset" + , "ExperimentalScanDataset" + , "ExperimentalTakeWhileDataset" + , "FilterDataset" , "FlatMapDataset" , "For" , "GeneratorDataset" @@ -101,22 +113,33 @@ blackList = , "MapAndBatchDataset" , "MapAndBatchDatasetV2" , "MapDataset" - , "MapDataset" + , "MapDefun" , "OneShotIterator" , "ParallelInterleaveDataset" + , "ParallelInterleaveDatasetV2" , "ParallelMapDataset" + , "ParseSequenceExample" , "PartitionedCall" + , "ReduceDataset" , "RemoteCall" , "ScanDataset" + , "StatefulPartitionedCall" + , "StatelessIf" + , "StatelessWhile" , "SymbolicGradient" + , "TPUPartitionedCall" , "TPUReplicate" , "While" , "XlaIf" , "XlaLaunch" + , "XlaReduce" , "XlaReduceWindow" + , "XlaSelectAndScatter" , "XlaWhile" , "_If" + , "_TPUReplicate" , "_While" + , "_XlaCompile" ] autogenModulesDir :: LocalBuildInfo -> FilePath diff --git a/third_party/tensorflow b/third_party/tensorflow index 25c197e..6612da8 160000 --- a/third_party/tensorflow +++ b/third_party/tensorflow @@ -1 +1 @@ -Subproject commit 25c197e02393bd44f50079945409009dd4d434f8 +Subproject commit 6612da89516247503f03ef76e974b51a434fb52e diff --git a/tools/install_macos_dependencies.sh b/tools/install_macos_dependencies.sh index 2e976db..e844368 100755 --- a/tools/install_macos_dependencies.sh +++ b/tools/install_macos_dependencies.sh @@ -27,7 +27,7 @@ fi TMP_DIR=$(mktemp -d) echo "Downloading libtensorflow..." -curl https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-darwin-x86_64-1.9.0.tar.gz > "$TMP_DIR/libtensorflow.tar.gz" +curl https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-darwin-x86_64-1.14.0.tar.gz > "$TMP_DIR/libtensorflow.tar.gz" echo "Extracting and copying libtensorflow..." tar zxf "$TMP_DIR/libtensorflow.tar.gz" -C "$TMP_DIR"