TOPSoftware > 機械学習ライブラリTensorFlow 1.4の変更点は

Software

機械学習ライブラリTensorFlow 1.4の変更点は

2017/11/17

Serdar Yegulalp InfoWorld

 「TensorFlow」は、ニューラルネットワークを簡単に実装するための汎用的なフレームワークだ。米Googleが自らの成果物を機械学習とデータサイエンスの世界に向けて公開した。登場は比較的最近の話だが、その強力な抽象化と使いやすさから、機械学習向けの一般的なプラットフォームとしてすでに広く導入されている。

TensorFlow 1.4のコアAPIの追加

TensorFlow Keras API

Credit: Thinkstock

 TensorFlow 1.4では、特に大きな変更として、コアAPIに2つの重要な要素が追加された。1つはKeras API(tf.keras)だ。Kerasは、TensorFlowより前に登場したニューラルネットワークライブラリだが、急速に取って代わられつつある。tf.kerasを使うことで、Kerasを利用しているソフトウエアをTensorFlowに移行できる。今後もずっとKerasのインタフェースを使う形で移行することも、TensorFlowをネイティブに使うようにソフトウエアを手直しする前段階として移行することも可能だ。

TensorFlow Dataset API

 TensorFlowのコアAPIに加わったもう1つの重要な要素がDataset API(tf.data)だ。もともとはコントリビュートされたAPI(tf.contrib.data)だったが、今回正式にサポートされた。Dataset APIでは、入力パイプラインの作成と再利用のための一連の抽象化手段が提供されている。いくつかのデータソースから集める複雑なデータセットにも対応でき、必要に応じて各要素に変換を加えられる。また、データセットへの繰り返し処理に応じた個別の関数も持つことができる。例えば、データセットに対する複数のトレーニングで、それぞれ別の動作が必要な場合に対応できる。

TensorFlow Dataset APIの互換性の問題

 従来のバージョンのTensorFlowでコントリビュート版のDataset APIをすでに利用していた場合は、今回のコアAPI版と完全に互換ではないことに注意が必要だ。変更点は多くはないが、一般的に使う重要な関数への変更が大半であることから、既存のコードが動かなくなる可能性はそれなりにある。

 例えば、これまでtf.contrib.data.rejection_resample()やtf.contrib.data.Iterator.from_dataset()を使っていたのなら、どちらも変更が加わっている。前者はシグネチャが変わり、後者は関数自体がなくなってDataset.make_initializable_iterator()に代わった。そのほか、TensorFlowのドキュメントにも、tf.contrib.dataからtf.dataへの移行に伴う変更点の説明がある。

Twitterもチェック

↑ページ先頭へ