オープンソース機械学習ライブラリの最新版「TensorFlow 1.5」が公開された。「Eager Execution」「TensorFlow Lite」、GPUアクセラレーション対応の強化が特徴だ。
Googleは2018年1月26日(米国時間)、オープンソース機械学習ライブラリの最新版「TensorFlow 1.5」を公開した。「Eager Execution for TensorFlow」「TensorFlow Lite」、GPUアクセラレーション対応の強化が目玉として紹介されている。
現在プレビュー版が提供されているEager Execution for TensorFlowは、「Define by Run」型のプログラミングスタイルを可能にするインタフェースであり、これを有効にすると、PythonからTensorFlow演算を呼び出してすぐに実行できるようになる。
GoogleはEager Execution for TensorFlowのメリットとして、下記を挙げている。
Googleは、Eager Execution for TensorFlowにより、TensorFlowを簡単に使い始めることができ、研究開発をより直感的に進められると述べている。さらに、このことを示すために、簡単な計算例として行列の乗算を取り上げている。それによると、現在のTensorFlowでは次のようになる。
x = tf.placeholder(tf.float32, shape=[1, 1]) m = tf.matmul(x, x) with tf.Session() as sess: print(sess.run(m, feed_dict={x: [[2.]]}))
これに対し、Eager Execution for TensorFlowを有効にすると、次のようになる。
x = [[2.]] m = tf.matmul(x, x) print(m)
TensorFlow Liteは、開発者向けプレビュー版がTensorFlow 1.5に組み込まれている。モバイルや組み込みデバイス向けのTensorFlowの軽量版だ。訓練済みのTensorFlowモデルを「.tflite」ファイルに変換し、モバイルデバイスを使って低レイテンシで実行できる。
そのため、モバイルデバイス上でモデルの訓練を行う必要がない。また、訓練済みTensorFlowモデルをモバイルデバイスで動かすために、モバイルデバイスのデータをクラウドにアップロードする必要もない。例えば、画像を分類したい場合は、モバイルデバイス上に訓練済みモデルをデプロイして、そのまま実行することができる。
TensorFlow Liteには、初心者向けのサンプルアプリが含まれる。このアプリは、1001の画像カテゴリーを持つMobileNetモデルを使用している。画像を認識し、多くのカテゴリーと照合して、最も該当する上位3つをリスト表示するようになっている。このアプリはAndroidとiOS向けに提供されている。
WindowsまたはLinuxでGPUアクセラレーションを利用する場合を想定し、TensorFlow 1.5は、新たに「CUDA 9」と「cuDNN 7」をサポートしている。
CUDA(Compute Unified Device Architecture)は、NVIDIAが開発、提供している、GPU向けの並列コンピューティングのためのスケーラブルな並列プログラミングモデルとソフトウェア環境。cuDNN(CUDA Deep Neural Network Library)は、CUDAのディープラーニング用ライブラリだ。
TensorFlow 1.5ではこれら以外にも、「Accelerated Linear Algebra(XLA)」の改良や「RunConfig」のアップデートなど、さまざまな機能強化が行われている。詳細はリリースノートで発表されている。
TensorFlow 1.5は、パッケージ管理ツール「pip」を使って入手できる(Python 3を使っている場合は、pip3)。
$ pip install --ignore-installed --upgrade tensorflow
Copyright © ITmedia, Inc. All Rights Reserved.