Skip to content

etning/tensorflow

 
 

Repository files navigation

Purpose

This binding was created to use Tensorflow in some existing Go projects that I have/had. For this reason it only provides the functionality that I need(ed). There are currently Go bindings brewing in upstream:

Once they are done, it's better the use the upstream binding, since it is always in sync with the latest Tensorflow.

Building

Get v0.8.0 of Tensorflow and build it:

$ git clone https://github.com/tensorflow/tensorflow.git
$ cd tensorflow
$ git checkout v0.8.0
$ git submodule init
$ git submodule update
$ ./configure
$ bazel build -c opt tensorflow:libtensorflow.so

Now you need to put tensor_c_api.h and libtensorflow.so visible somewhere for cgo and your C compiler. On OS X using Homebrew:

$ mkdir -p /usr/local/Cellar/tensorflow/0.8.0/{lib,include}
$ cp bazel-bin/tensorflow/libtensorflow.so /usr/local/Cellar/tensorflow/0.8.0/lib
$ cp tensorflow/core/public/tensor_c_api.h /usr/local/Cellar/tensorflow/0.8.0/include
$ brew link tensorflow

Now you can build the Go package as normal.

About

Go binding for Tensorflow

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 70.2%
  • Protocol Buffer 25.0%
  • C 2.8%
  • Shell 2.0%