Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

TensorFlow r1.5正式リリース (TensorFlow Lite dev preview)


米国時間で2018/1/26にTensorFlow r1.5が正式リリースされました。


  ・Eager execution
       preview version is now available.

 ・TensorFlow Lite
  dev preview is now available.

 ・CUDA 9 and cuDNN 7 support.

 ・Accelerated Linear Algebra (XLA):
  Add complex64 support to XLA compiler.
  bfloat support is now added to XLA infrastructure.
  Make ClusterSpec propagation work with XLA devices.
  Use a determinisitic executor to generate XLA graph.

CUDA9とcuDNN7サポートということは、正式にVoltaが利用できるのか。
でもね。Volta持っていませんよ。
NVIDIA TESLA V100 CUDA 9 のご紹介

Eager executionにて、ChainerやPyTorchのように、define-by-run ができるのね。
 ・define-and-run <=> Declarative  : theano, Caffe, TensorFlow

 ・define-by-run  <=> Imperative   : Chainer, PyTorch, TensorFlow Eager

そして、TensorFlow Liteにて、AndroidiOSへのパスが確立されましたね。

Androidの場合は、8.1で導入された Neural Network API に対応しています。

ということで、

TensorFlow Lite => Android Neural Netowrk APIソースコードを解析しました

色々加えて、101頁にもなりました。

イメージ 1


のように、TensorFlowで学習したモデルとパラメータをTensorFlow Lite Mode File に変換。

イメージ 2


Android Appにて、TensorFlow Lite Model Fileを読み込み、
Interpreter経由で Android Neural Network APIを呼び出します。
Android Neural Network APIでは、デフォルトではCPUで実行されますが、
Google Pixel2に搭載されているASIC内の Pixel Visual Coreなどのアクセラレータを使うこともできます。