2016-10-24 21:26:42 +02:00
The tensorflow-haskell package provides Haskell bindings to
[TensorFlow ](https://www.tensorflow.org/ ).
This is not an official Google product.
# Instructions
2016-10-26 20:13:42 +02:00
## Build with Docker on Linux
2016-10-24 21:26:42 +02:00
2016-10-25 18:53:35 +02:00
As an expedient we use [docker ](https://www.docker.com/ ) for building. Once you have docker
2016-10-24 21:26:42 +02:00
working, the following commands will compile and run the tests.
git clone --recursive https://github.com/tensorflow/haskell.git tensorflow-haskell
cd tensorflow-haskell
IMAGE_NAME=tensorflow/haskell:v0
docker build -t $IMAGE_NAME docker
# TODO: move the setup step to the docker script.
stack --docker --docker-image=$IMAGE_NAME setup
stack --docker --docker-image=$IMAGE_NAME test
There is also a demo application:
cd tensorflow-mnist
stack --docker --docker-image=$IMAGE_NAME build --exec Main
2016-10-26 20:13:42 +02:00
## Build on Mac OS X
The following instructions were verified with Mac OS X El Capitan.
- Install dependencies via [Homebrew ](http://brew.sh ):
brew install swig
brew install bazel
- Build the TensorFlow library and install it on your machine:
cd third_party/tensorflow
./configure # Choose the defaults when prompted
bazel build -c opt tensorflow:libtensorflow_c.so
install bazel-bin/tensorflow/libtensorflow_c.so /usr/local/lib
cd ../..
- Run stack:
stack test
Note: you may need to upgrade your version of Clang if you get an error like the following:
tensorflow/core/ops/ctc_ops.cc:60:7: error: return type 'tensorflow::Status' must match previous return type 'const ::tensorflow::Status' when lambda expression has unspecified explicit return type
return Status::OK();
In that case you can just upgrade XCode and then run `gcc --version` to get the new version of the compiler.