Home

TensorFlow.jl

Introduction

TensorFlow.jl is a wrapper around TensorFlow, a powerful library from Google for implementing state-of-the-art deep-learning models. See the intro tutorial from Google to get a sense of how TensorFlow works - TensorFlow.jl has a similar API to the Python TensorFlow API described in the tutorials. Then see the Julia equivalent of that tutorial.

Installation

Install via

Pkg.add("TensorFlow")

To enable support for GPU usage on Linux, set an environment variable TF_USE_GPU to "1" and then rebuild the package. eg

ENV["TF_USE_GPU"] = "1"
Pkg.build("TensorFlow")

CUDA 8.0 and cudnn are required for GPU usage. For GPU support on Mac OS X, see documentation on building TensorFlow from source.

Comparison to Python API

The wrapper sticks closely to the Python API and so should be easy to pick up for anyone used to the Python API to pick up. Most function names and arguments are semantically the same.

Some differences:

What functionality of TensorFlow is exposed

Currently, a large fraction of the computation graph-building functionality is present. This includes

Currently not wrapped, but planned for the near future:

Limitations

Since the TensorFlow API is so large, not everything is currently wrapped. If you come across TensorFlow functionality provided by the Python API not available in the Julia API, please file an issue (or even better, submit a pull request). Additionally: