TensorFlow powered JavaScript library for training and deploying ML models on Node.js.
Clone or download
Latest commit c6f1ddb Nov 16, 2018

README.md

TensorFlow backend for TensorFlow.js via Node.js

This repo is under active development and is not production-ready. We are actively developing as an open source project.

Installing

TensorFlow.js for Node currently supports the following platforms:

Other Linux variants might also work but this project matches core TensorFlow installation requirements.

Installing CPU TensorFlow.js for Node:

npm install @tensorflow/tfjs-node
(or)
yarn add @tensorflow/tfjs-node

Installing Linux/Windows GPU TensorFlow.js for Node:

npm install @tensorflow/tfjs-node-gpu
(or)
yarn add @tensorflow/tfjs-node-gpu

Windows Requires Python 2.7

Windows build support for node-gyp requires Python 2.7. Be sure to have this version before installing @tensorflow/tfjs-node or @tensorflow/tfjs-node-gpu. Machines with Python 3.x will not install the bindings properly.

Mac OS X Requires Xcode

If you do not have Xcode setup on your machine, please run the following commands:

$ xcode-select --install

After that operation completes, re-run yarn add or npm install for the @tensorflow/tfjs-node package.

You only need to include @tensorflow/tfjs-node or @tensorflow/tfjs-node-gpu in the package.json file, since those packages ship with @tensorflow/tfjs already.

Using the binding

Before executing any TensorFlow.js code, import the node package:

import * as tf from '@tensorflow/tfjs';

// Load the binding
import '@tensorflow/tfjs-node';

// Or if running with GPU:
import '@tensorflow/tfjs-node-gpu';

Development

# Download and install JS dependencies, including libtensorflow 1.8.
yarn

# Run TFJS tests against Node.js backend:
yarn test
# Switch to GPU for local development:
yarn enable-gpu

MNIST demo for Node.js

See the tfjs-examples repository for training the MNIST dataset using the Node.js bindings.

Optional: Build libtensorflow From TensorFlow source

This requires installing bazel first.

bazel build --config=monolithic //tensorflow/tools/lib_package:libtensorflow