TensorFlow 1.3.0 リリースノート(翻訳)
翻訳 : (株)クラスキャット セールスインフォメーション
日時 : 08/17/2017
* 本ページは、github TensorFlow の releases の TensorFlow 1.3.0 を翻訳したものです:
https://github.com/tensorflow/tensorflow/releases/tag/v1.3.0
序
TensorBoard 0.1.4 リリースノート もまた参照してください。
(訳注: 画像は TensorBoard 0.1.4 のスナップショットです)
主要な特徴と改良
- TensorFlow ライブラリに canned estimator を追加しました。追加された estimator のリストは :
- DNNClassifier
- DNNRegressor
- LinearClassifier
- LinearRegressor
- DNNLinearCombinedClassifier
- DNNLinearCombinedRegressor.
- 事前ビルドされたバイナリの全ては cuDNN 6 でビルドされています。TensorFlow 1.4 は cuDNN 7 でリリースされると予想しています。
- import tensorflow が今では非常に高速になりました。
- GCS ファイルシステムに、ファイルコンテンツのための構成可能な staleness (古さ) の最大値を持つファイルキャッシュを追加します。これは close/open 境界にまたがるファイルコンテンツのキャッシングを可能にします。
- tf.gather に axis パラメータを追加。
- tf.pad に constant_values キーワード引数を追加。
- Dataset.interleave 変換を追加します。
- 2つのデータセットを連結するための ConcatenateDataset を追加します。
- Poets 訓練スクリプトのために TensorFlow に Mobilenet サポートを追加。
- GCS ファイルシステムに、構成可能なブロックサイズとカウントを持つブロックキャッシュを追加します。
- SinhArcSinh 全単射 (bijector) が追加されました。
- Dataset.list_files API を追加。
- Cloud TPU のための新しい演算子と Python バインディングを導入します。
- tensorflow-android との対称性のために TensorFlow-iOS CocoaPod を追加します。
- ClusterResolvers の基本的な実装を導入します。
- TensorShape と PartialTensorShape のメモリ表現を統一します。その結果、tensor は今では 254 次元の最大値を持ちます、255 ではありません。
- LIBXSMM への参照をバージョン 1.8.1 を使用するように変更しました。
- TensorFlow デバッガー (tfdbg):
- print_tensor or pt を命令する -s フラグで数値 tensor の要約を表示します。
- print_feed または pf コマンドで feed 値とクリック可能なリンクを curses UI で表示します。
- run-p コマンドによる op レベルと Python ソースライン・レベルのランタイム・プロファイラー。
- 統計的分布ライブラリ tf.distributions の初期リリース。
- 単項 tf.where と tf.nn.top_k のための GPU カーネルと速度の改良。
- tf.contrib.seq2seq に追加された Monotonic Attention ラッパー。
- シグナル処理プリミティブのためのライブラリ、tf.contrib.signal を追加しました。
- 画像の微分可能なリサンプリングのための CPU と GPU ops を含む、tf.contrib.resampler を追加しました。
API への重大な変更
- tf.RewriterConfig は 1.2 release candidate で利用可能になった後 Python API から取り除かれました (それは実際のリリースには決して含まれていません)。tf.RewriterConfig としてではないだけで、Graph rewriting は依然として利用可能です。代わりに明示的な import を追加します。
- ネストした構造を期待する tf.contrib.data.Dataset API への重大な変更。リストは今では tf.Tensor に暗黙的に変換されます。既存のコードではリストの使用をタプルに変更する必要があるかもしれません。更に、辞書は今ではネストした構造としてサポートされます。
contrib API への変更
- tf.contrib.nn.rank_sampled_softmax_loss を追加します、rank 損失を改善できる sampled-softmax 変種です。
- tf.contrib.metrics.{streaming_covariance,streaming_pearson_correlation} は 1 またはそれ以下の重み unit を見出した時に nan を返すように修正されました。
- contrib に時系列モデルを追加します。詳細は contrib/timeseries/README.md を見てください。
- tensorflow/contrib/lite/schema.fbs に FULLY_CONNECTED Op を追加します。
既知の問題
- Tensorflow_gpu のコンパイルは Bazel 0.5.3 では失敗します。
バグ修正とその他の変更
- python で int64 Tensor インデックスを使用してスライシングした時の strides と begin dtype ミスマッチを修正。
- convolution padding 文書を改良しました。
- GPU サポートのグラフを表現するために tag 定数、gpu を追加します。
- saved_model.utils は今では SparseTensors を透過的にサポートします。
- non-max suppression (訳注: Non-Maximum Suppression アルゴリズム) のより効率的な実装。
- FtrlOptimizer に対して既にサポートしている online L2 に加えて shrinkage-type L2 のためのサポートを追加。
- モーメント計算の負の分散 (negative variance) を修正。
- UniqueOp ベンチマーク・テストをより多くの collision case をカバーするために拡張しました。
- Mac 上の GCS ファイルシステムの安定性を改良。
- HloCostAnalysis に time estimation を追加。
- estimator のバグを修正、これはコンストラクタのその params がユーザが提供したものの deepcopy でないというものです。このバグは estimater の作成後にユーザに params を不注意で mutate することを可能にし、潜在的に未定義の挙動につながります。
- saver.restore の save_path のための None チェックを追加しました。
- clusterspec で伝播された構成への遷移を容易にするために device を device_mgr の legacy name のもとで登録します。
- VectorExponential が distributions に追加されました。
- bitwise_and, bitwise_or, bitwise_xor そして invert 関数を持つ bitwise なモジュールを追加します。
- fixed-grid ODE 統合ルーチンを追加します。
- ScipyOptimizerInterface に bounds を渡すことを可能にします。
- tf.spectral.rfft & tf.spectral.irfft への fft_length パラメータのための correctness fixes。
- ‘predict’ メソッドを使用して export されたモデル signature はもはや input と output キーを静かに無視して ‘inputs’ と ‘outputs’ に書き換えることはありません。もしモデルが 1.2 より前に異なる名前で export され、そして今 tensorflow/serving でサービスが提供されるのであれば、それは ‘inputs’ と ‘outputs’ を使用してリクエストを受け取るでしょう。1.2 からは、そのようなモデルは export の間に指定されたキーを受け付けます。それ故に、’inputs’ と ‘outputs’ を使用した推論リクエストは失敗し始めるかもしれません。これを修正するためには、任意の推論クライアントを訓練者 (trainer) コードで使用された実際の input と output キーでリクエストを送るように更新するか、あるいは逆に、訓練者コードを input と output Tensor を ‘inputs’ と ‘outputs’ にそれぞれ名前付けるように更新することです。’classify’ と ‘regress’ メソッドを使用した signature はこの変更の影響を受けません; それらは以前のようにそれらの input と output キーを標準化し続けるでしょう。
- Dataset API に in-memory キャッシングを追加。
- datasets iterators の default end_of_sequence 変数のデフォルトを false に設定します。
- [パフォーマンス] use_bias=True を設定してnn.bias_add を使用することで tf.layers.con2d のパフォーマンスを2倍増大。
- iOS サンプルを CocoaPods を使用するように更新し、tensorflow/examples/ios に移しました。
- tf.summary ops で family= 属性を追加します、これは要約を体系化するために Tensorboard で使用される tab 名を制御することを可能にします。
- GPU が構成される時、–config=cuda を必要としません、代わりに、これが configure スクリプトでリクエストされた時には自動的に GPU のためにビルドします。
- CPU/GPU 多項式の小さい確率の不正なサンプリングの修正。
- クラスタ内のデバイスをリストするための session 上の list_devices() API を追加する。更にこの変更は session の指定をサポートするために ListDevices master API を拡張します。
- over-parameterized separable convolution の利用が可能に。
- TensorForest multi-regression バグ修正。
- フレームワークは今では armv7 をサポートし、cocoapods.org は今では正しいページを表示します。(訳注: 試した範囲では、表示される場合もありますが表示に失敗する場合もあるようです。)
- CocoaPods のための iOS フレームワークを作成するスクリプト。
- TensorFlow の Android リリースは今では apps へのより容易な統合のために jcenter に置かれています。より詳細は https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/android/README.md を見てください。
- TensorFlow デバッガー (tfdbg):
- tfdbg が multi-GPU セットアップで機能することを妨げるバグを修正。
- tfdbg が tf.Session.make_callable で動作することを妨げるバグを修正。
以上