Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mobile, AI and TensorFlow

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Mobile, AI and TensorFlow

Avatar for Supriya Srivatsa

Supriya Srivatsa

October 05, 2017
Tweet

More Decks by Supriya Srivatsa

Other Decks in Technology

Transcript

  1. TensorFlow • Tensor: N Dimensional Arrays • Open source software

    library for numerical computation using data flow graphs.
  2. Tensorflow – “Deferred Execution” Model • Graph first. Computation Afterward.

    import tensorflow as tf x = tf.constant(10) y = tf.Variable(x + 5) print(y)
  3. Tensorflow – “Deferred Execution” Model • Graph first. Computation Afterward.

    import tensorflow as tf x = tf.constant(10) y = tf.Variable(x + 5) model = tf.global_variables_initializer() with tf.Session() as session: session.run(model) print(session.run(y))
  4. Quantization • Round it up • Transform: round_weights • Compression

    rates: ~8% => ~70% • Shrink down node names • Transform: obfuscate_names • Eight bit calculations
  5. Implementation 1. Load the model 2. Feed in the input

    3. Run the model 4. Fetch the output TensorFlowInferenceInterface inferenceInterface = new TensorFlowInferenceInterface(assetManager, modelFile);
  6. Implementation 1. Load the model 2. Feed in the input

    3. Run the model 4. Fetch the output // feed(String s, float[] floats, long… longs) inferenceInterface.feed(inputName, floatValues, 1, inputSize, inputSize, 3);
  7. Implementation 1. Load the model 2. Feed in the input

    3. Run the model 4. Fetch the output inferenceInterface.run(outputNames);
  8. Implementation 1. Load the model 2. Feed in the input

    3. Run the model 4. Fetch the output // fetch(String s, float[] floats) inferenceInterface.fetch(outputName, outputs);