TensorFlow 1.10.0 リリースノート (翻訳)
翻訳 : (株)クラスキャット セールスインフォメーション
日時 : 08/10/2018
* 本ページは、github TensorFlow の releases の TensorFlow 1.10.0 を翻訳したものです:
主要な特徴と改良
- tf.lite ランタイムは今では complex64 をサポートします。
- tf.data のための最初の Bigtable 統合。
- 評価のためにチェックポイントを再ロードしない、tf.estimator.train_and_evaluate の改良されたローカル実行挙動。
- RunConfig は今ではワーカーと PS がどのように通信できるかを制限する device_filters を設定します。これは訓練をスピードアップしてある状況ではクリーンな停止を確かなものにします。しかしワーカー間の通信を必要とするジョブを持つ場合には RunConfig でカスタム session_options を設定しなければならないでしょう。
- Distributions と Bijectors を tf.contrib.distributions から Tensorflow Probability (TFP) に移動しました。tf.contrib.distributions は今では deprecated で 2018 末までに除去されます。
- 既存の tensorflow シンボルのための新しいエンドポイントを追加しています。これらのエンドポイントは (前進していく) 推奨エンドポイントとなり既存のエンドポイントの幾つかを将来的に置き換えるかもしれません。完全なリストのためには下を見てください。新しいシンボルは次のモジュールに追加されました :
tf.debugging, tf.dtypes, tf.image, tf.io, tf.linalg, tf.manip, tf.math, tf.quantization, tf.strings
互換性に影響する変更
- 事前ビルドされたバイナリは今では (TensorFlow 1.10 の時点で) NCCL 2.2 に対してビルドされバイナリインストールに NCCL はもはや含まれません。マルチ GPU と NCCL を伴う TensorFlow の利用には NCCL 2.2 へのアップグレードを必要とします。更新されたインストールガイドを見てください : Installing TensorFlow on Ubuntu と Install TensorFlow from Sources。
- TensorFlow 1.11 から、Windows ビルドは Bazel を使用します。従って、cmake の公式サポートをドロップします。
バグ修正とその他の変更
- tf.data:
- tf.contrib.data.group_by_reducer() は今では公開 API を通して利用可能です。
- tf.contrib.data.choose_from_datasets() は今では公開 API を通して利用可能です。
- tf.data.Dataset.batch() と tf.data.Dataset.padded_batch() に drop_remainder 引数を追加し、tf.contrib.data.batch_and_drop_remainder() と tf.contrib.data.padded_batch_and_drop_remainder() を deprecate します。
- tf.estimator:
- Estimator はエクスポートの際に SavedModels をセーブするために今では EstimatorSpec scaffold に含まれる カスタム・セーバーを使用します。
- EstimatorSpec は export_output が提供されない場合今ではエクスポートのためにデフォルトの prediction output を追加し、単純なユースケースのために model_fn にPredictOutput オブジェクトを明示的に含む必要性を除去します。
- 準備された (= canned) Linear Estimators で sparse_combiner をサポートします。
- DNNClassifier, DNNRegressor, そして DNNEstimator にバッチ正規化を追加しました。
- ブースト木 (= boosted trees) のためのランキング・サポートを追加します。
- ブースト木のための中心バイアス (= center bias) オプションを追加します。
- get_variable() に synchronization と aggregation args を追加します。これらの args は分散 variable のために使用されます。
- layer add_weight() API に synchronization と aggregation args を追加します。これらの args は分散 variable のために使用されます。
- tf.losses.* は eagerly に実行するとき (メモリリークを回避するために) global collection に追加しません。
- tf.train.MonitoredTrainingSession() で異なる summary とチェックポイント・ディレクトリをサポートします。
- tf.contrib.rnn に IndRNN, IndyGRU, と IndyLSTM cells と追加しました。
- SparseTensor のための安全な静的ファクトリ関数を追加して総ての CHECK を DCHECK に変換します。コンストラクタを直接的に使用することは安全ではなく deprecated です。
- Bigtable クライアント・コネクションプールを configurable にして & パフォーマンスのためにコネクションのデフォルト数を増やします。
- tf.random_gamma の alpha パラメータに関する導関数を追加しました。
- tf.igamma(a, x) と tf.igammac(a, x) の a に関する導関数を追加しました。
- 次数 0 と 1 の Bessel 関数を変更しました。
- 三角行列を作成するための FillTriangular Bijector を追加します。
- Type III DCT (訳注: 離散コサイン変換) と tf.spectral.idct(type=2|3) のためのサポートを追加しました。
- TimeDistributed のネスト時にロードされた CuDNN RNN 思いを正しく処理します。
- WALSComputePartialLhsAndRhsOp のための要素毎重みサポートを追加しています。
- Graph Transform ツールにより定数として扱われる ZerosLike と OnesLike ops。
- Gamma 分布と導出される分布 (Beta, Dirichlet, Student の t, 逆 Gamma) は今では完全に再パラメータ化されます。
- グラフ生成を容易にする Java: Experimental ラッパー・クラス。Thanks @karllessard と @kbsriram
- セキュアな gRPC コンポーネント内のビルド & リンク (非セキュアな grpc 依存をセキュアな grpc 依存にスイッチしました)。
- 既存の tensorflow シンボルのための新しいエンドポイントを追加しています。これらのエンドポイントは (前進していく) 推奨エンドポイントとなり既存のエンドポイントの幾つかを将来的に置き換えるかもしれません。新しいエンドポイントのリストです :
- tf.image 名前空間の新しいエンドポイント: tf.image.extract_image_patches
- tf.debugging 名前空間の新しいエンドポイント: tf.debugging.check_numerics, tf.debugging.is_finite, tf.debugging.is_inf, tf.debugging.is_nan.
- tf.dtypes 名前空間の新しいエンドポイント: tf.dtypes.as_string.
- tf.io namespace 名前空間の新しいエンドポイント: tf.io.decode_base64, tf.io.decode_compressed, tf.io.decode_json_example, tf.io.decode_raw, tf.io.encode_base64, tf.io.matching_files, tf.io.parse_tensor, tf.io.read_file,tf.io.write_file`.
- tf.linalg namespace 名前空間の新しいエンドポイント: tf.linalg.cross, tf.linalg.tensor_diag (tf.diag に対応), tf.linalg.tensor_diag_part (tf.diag_part に対応).
- tf.manip 名前空間の新しいエンドポイント: tf.manip.batch_to_space_nd, tf.manip.gather_nd, tf.manip.reshape, tf.manip.reverse, tf.manip.scatter_nd, tf.manip.space_to_batch_nd, tf.manip.tile
- tf.math 名前空間の新しいエンドポイント: tf.math.acos, tf.math.acosh, tf.math.add, tf.math.asin, tf.math.asinh, tf.math.atan, tf.math.atan2, tf.math.atanh, tf.math.betainc, tf.math.ceil, tf.math.cos, tf.math.cosh, tf.math.digamma, tf.math.equal, tf.math.erfc, tf.math.exp, tf.math.expm1, tf.math.floor, tf.math.greater, tf.math.greater_equal, tf.math.igamma, tf.math.igammac, tf.math.invert_permutation, tf.math.less, tf.math.less_equal, tf.math.lgamma, tf.math.log, tf.math.log1p, tf.math.logical_and, tf.math.logical_not, tf.math.logical_or, tf.math.maximum, tf.math.minimum, tf.math.not_equal, tf.math.polygamma, tf.math.reciprocal, tf.math.rint, tf.math.rsqrt, tf.math.segment_max, tf.math.segment_mean, tf.math.segment_min, tf.math.segment_prod, tf.math.segment_sum, tf.math.sin, tf.math.sinh, tf.math.softplus, tf.math.softsign, tf.math.squared_difference, tf.math.tan, tf.math.unsorted_segment_max, tf.math.unsorted_segment_min, tf.math.unsorted_segment_prod, tf.math.unsorted_segment_sum, tf.math.zeta.
- tf.quantization 名前空間の新しいエンドポイント: tf.quantization.dequantize, tf.quantization.fake_quant_with_min_max_args, tf.quantization.fake_quant_with_min_max_args_gradient, tf.quantization.fake_quant_with_min_max_vars, tf.quantization.fake_quant_with_min_max_vars_gradient, tf.quantization.fake_quant_with_min_max_vars_per_channel, tf.quantization.fake_quant_with_min_max_vars_per_channel_gradient.
- tf.strings 名前空間の新しいエンドポイント: tf.strings.join (tf.string_join に対応), tf.strings.regex_replace, tf.strings.to_number (tf.string_to_number に対応), tf.strings.strip (tf.string_strip に対応), tf.strings.substr, tf.strings.to_hash_bucket (tf.string_to_hash_bucket に対応), tf.strings.to_hash_bucket_fast (tf.string_to_hash_bucket_fast に対応), tf.strings.to_hash_bucket_strong (tf.string_to_hash_bucket_strong に対応).
以上