15 releases (8 breaking)

Uses old Rust 2015

0.8.2 Jul 23, 2016
0.7.0 Jul 7, 2016

#63 in #tensorflow

Apache-2.0/MIT

25KB
626 lines

TensorFlux Version Status

The package provides an interface to TensorFlow.

Documentation

Example

Create a graph in Python:

import tensorflow as tf

a = tf.placeholder(tf.float32, name='a')
b = tf.placeholder(tf.float32, name='b')
c = tf.mul(a, b, name='c')

tf.train.write_graph(tf.Session().graph_def, '', 'graph.pb', as_text=False)

Evaluate the graph in Rust:

use tensorflux::{Buffer, Input, Options, Output, Session, Tensor};

macro_rules! ok(($result:expr) => ($result.unwrap()));

let graph = "graph.pb"; // c = a * b
let mut session = ok!(Session::new(&ok!(Options::new())));
ok!(session.extend(&ok!(Buffer::load(graph))));

let a = ok!(Tensor::new(vec![1f32, 2.0, 3.0], &[3]));
let b = ok!(Tensor::new(vec![4f32, 5.0, 6.0], &[3]));

let inputs = vec![Input::new("a", a), Input::new("b", b)];
let mut outputs = vec![Output::new("c")];
ok!(session.run(&inputs, &mut outputs, &[], None, None));

let c = ok!(outputs[0].get::<f32>());
assert_eq!(&c[..], &[1.0 * 4.0, 2.0 * 5.0, 3.0 * 6.0]);

This and other examples can be found in the examples directory.

Requirements

Configuration

Collaboration

Rust has an IRC culture, and most real-time collaborations happen in a variety of channels on Mozilla’s IRC network, irc.mozilla.org. The channels that are relevant to TensorFlow are #rust-machine-learning and #rust-tensorflow.

Contribution

Your contribution is highly appreciated. Do not hesitate to open an issue or a pull request. Note that any contribution submitted for inclusion in the project will be licensed according to the terms given in LICENSE.md.

Dependencies

~130KB