15 releases (8 breaking)
Uses old Rust 2015
0.8.2 | Jul 23, 2016 |
---|---|
0.7.0 | Jul 7, 2016 |
#62 in #tensorflow
26 downloads per month
25KB
626 lines
TensorFlux
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