(翻訳/解説)TensorFlow 0.12.0 リリースノート
翻訳 : (株)クラスキャット セールスインフォメーション
日時 : 01/03/2017
* 本ページは、github TensorFlow の releases の TensorFlow 0.12.0 を翻訳したものです:
https://github.com/tensorflow/tensorflow/blob/r0.12/RELEASE.md
主要な特徴と改良
- TensorFlow は今、Microsoft Windows (Windows 10, Windows 7, そして Windows Server 2016 上でテストされています) 上でビルドし動作します。サポートされている言語は Python (pip パッケージ経由) と C++ を含みます。CUDA 8.0 と cuDNN 5.1 が GPU アクセラレーションのためにサポートされます。既知の制限は以下を含みます: custom op ライブラリをロードすることは現在できません。GCS と HDFS ファイルシステムは現在サポートされていません。次の op は現在実装されていません: Dequantize, QuantizeAndDequantize, QuantizedAvgPool, QuantizedBatchNomWithGlobalNormalization, QuantizedBiasAdd, QuantizedConcat, QuantizedConv2D, QuantizedMatmul, QuantizedMaxPool, QuantizeDownAndShrinkRange, QuantizedRelu, QuantizedRelu6, QuantizedReshape, QuantizeV2, RequantizationRange, そして Requantize.
- Go: グラフを作成して実行する Go における実験的な API (https://godoc.org/github.com/tensorflow/tensorflow/tensorflow/go)
- 新しいチェックポイント・フォーマットが tf.train.Saver のデフォルトになりました。古い V1 チェックポイントも引き続き読めます; write_version 引数で制御され、tf.train.Saver はデフォルトで新しい V2 フォーマットで書き出します。それは必要とされるピーク・メモリと restore 時に被る遅延を本質的に減らします。
- 線形方程式, 線形最小二乗, 固有値そして特異値のための matrix-free (iterative) ソルバーのライブラリのための新しいライブラリを追加しました。初期バージョンは lanczos bidiagonalization, conjugate gradients そして CGLS を持ちます。
- matrix_solve_ls and self_adjoint_eig のための勾配を追加。
- C++ 勾配の ops のための 2 階勾配を追加して大半の ops が複数回微分可能であるように既存の勾配を改善するための膨大なクリーンアップ。
- 常微分方程式のためのソルバーの追加, tf.contrib.integrate.odeint.
- axes という名前の tensor のための新しい contrib モジュール, tf.contrib.labeled_tensor.
- TensorBoard における embedding の視覚化。
API への重大な変更 (breakinig changes)
- BusAdjacency enum は protocol buffer DeviceLocality で置き換えられました。PCI bus indexing は今は 0 の代わりに 1 から始まり、そして以前には BUS_ANY が使用されていたところでは bus_id ==0 が使用されます。
- Env::FileExists と FileSystem::FileExists は bool の代わりに今は tensorflow::Status を返します。この関数の任意の呼び出し側は呼び出しに .ok() を追加することにより bool に変換できます。
- C API: TF_SessionWithGraph 型は TF_Session に名称変更されました、これは TensorFlow のための言語バインディングにおける好ましい使用を示します。以前の TF_Session は TF_DeprecatedSession に名称変更されました。
- C API: TF_Port は TF_Output に名称変更されました。
- C API: 呼び出し側は、TF_Run, TF_SessionRun, TF_SetAttrTensor etc に提供される TF_Tensor オブジェクトの所有権を維持します。
- tf.image.per_image_whitening() は tf.image.per_image_standardization() に名称変更されました。
- Summary protobuf コンストラクタは tf.summary サブモジュールに移しました。
- histogram_summary, audio_summary, scalar_summary, image_summary, merge_summary, そして merge_all_summaries は非推奨 (deprecated) です。
- batch_* と線形代数と FFT ops の通常版を結合しました。通常の op は今は batches も処理します。全ての batch_* Python インターフェイスは取り除かれました。
- tf.all_variables, tf.VARIABLES そして tf.initialize_all_variables は tf.global_variables, tf.GLOBAL_VARIABLES そして tf.global_variables_initializer にそれぞれ名称変更されました。
バグ修正と他の変更
- lgamma 関数のスレッドセーフ版を使用。
- tf.sqrt の負の引数の処理を修正。
- マルチスレッドのベンチマークのために使用されるスレッドの正しくない数を引き起こすバグを修正。
- マルチコア CPU 上の batch_matmul のためのパフォーマンス最適化。
- 長方行列のための trace, matrix_set_diag, matrix_diag_part そしてそれらの勾配の改良。
- 複素数値行列の SVD (特異値分解) のサポート。
以上