ホーム » 「TensorFlow Release Note」タグがついた投稿

タグアーカイブ: TensorFlow Release Note

TensorFlow 1.15.0 リリースノート

TensorFlow 1.15.0 リリースノート (翻訳)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 10/09/2019

* 本ページは、github TensorFlow の releases の TensorFlow 1.15.0 を翻訳したものです:

 

Release 1.15.0

これは TensorFlow のための最後の 1.x リリースです。特徴を伴う 1.x ブランチを更新する予定はありません、少なくとも 1 年間は脆弱性を修正するためのパッチリリースは発行するつもりですが。

 

主要な特徴と改良

  • アナウンス されたように、現在 GPU サポートを持つプラットフォーム (Linux と Windows) に対しては tensorflow pip パッケージはデフォルトで (今は tensorflow-gpu と同じ) GPU サポートを含みます。それは Nvidia GPU を持つあるいは持たないマシン上で動作します。tensorflow-gpu は依然として利用可能で、そして CPU-only パッケージはパッケージサイズについて心配しているユーザのために tensorflow-cpu でダウンロード可能です。
  • TensorFlow 1.15 は compat.v2 モジュールで 2.0 API の完全な実装を含みます。それは compat.v1 モジュールで (contrib なしの) 1.15 メインモジュールのコピーを含みます。TensorFlow 1.15 は enable_v2_behavior() 関数を使用して 2.0 の動作をエミュレートできます。これは前方互換コードを書くことを可能にします : tensorflow.compat.v1 か tensorflow.compat.v2 を明示的にインポートすることにより、貴方のコードが 1.15 か 2.0 のインストールに対して変更なしに動作することを保証できます。
  • EagerTensor は今では tensor のために numpy buffer インターフェイスをサポートします。
  • v2 制御フローを有効/無効にするためにトグル tf.enable_control_flow_v2() と tf.disable_control_flow_v2() を追加します。
  • tf.enable_v2_behavior() と TF2_BEHAVIOR=1 の一部として v2 制御フローを有効にします。
  • AutoGraph は Python 制御フローを TensorFlow 式に変換して、ユーザに tf.function-decorate された関数内で通常の Python を書くことを可能にします。AutoGraph はまた tf.data, tf.distribute と tf.keras API で使用される関数内にも適用されます。
  • enable_tensor_equality() を追加します、これは次のように動作を切り替えます :
    • Tensor はもはや hashable ではありません。
    • Tensor は == と != で比較可能です、element-wise な比較結果を持つ Boolean Tensor を生成します。これは 2.0 のデフォルトの動作です。
  • Auto Mixed-Precision グラフ optimizer は Volta と Turing Tensor Core 上の高速化のためにモデルを float16 に変換することを単純化します。この特徴は tf.train.experimental.enable_mixed_precision_graph_rewrite() で optimizer クラスをラップすることにより有効にできます。
  • 環境変数 TF_CUDNN_DETERMINISTIC を追加します。”true” or “1” に設定することは決定論的 cuDNN convolution と max-pooling アルゴリズムの選択を強制します。これが有効にされるとき、アルゴリズム選択手続き自身もまた決定論的です。
  • TensorRT
    • TF 2.0 のための準備で TensorRT conversion ソースを contrib から compiler ディレクトリに移行します。
    • TensorRT conversion のために追加の、ユーザ・フレンドリーな TrtGraphConverter API を追加します。
    • TensorRT conversion の TensorFlow 演算子のためのサポートを拡張します (e.g. Gather, Slice, Pack, Unpack, ArgMin, ArgMax,DepthSpaceShuffle)。
    • TensorRT conversion の TensorFlow 演算子 CombinedNonMaxSuppression をサポートします、これはオブジェクト検出モデルを本質的に高速化します。

 

互換性を損なう変更

  • Tensorflow コードは今では 2 つの異なる pip パッケージを生成します : tensorflow_core は総てのコードを含み (将来的にはそれは private 実装だけを含むでしょう) そして tensorflow は仮想 pip パッケージで tensorflow_core への forwarding を行ないます (そして将来的には tensorflow の public API だけを含むでしょう)。私たちはこれを breaking であるとは想定していません、実装から直接的にインポートしていなかった場合には。
  • TensorFlow 1.15 は Ubuntu 16 上 devtoolset7 (GCC7) を使用してビルドされています。これは TensorFlow のより早期のバージョンに対してビルドされた拡張との ABI 非互換性に繋がるかもしれません。
  • ResourceVariable で constraint= と .constraint の使用は deprecated しました。
  • tf.keras :
    • デフォルト Keras config で OMP_NUM_THREADS はもはや使用されません。スレッド数を configure するには、tf.config.threading API を使用します。
    • tf.keras.model.save_model と model.save は今では TensorFlow SavedModel をセーブすることがデフォルトです。
    • keras.backend.resize_images (そして結果的に、keras.layers.Upsampling2D) の動作は変わりました、resizing 実装のバグは修正されました。
    • Layer は今では float32 がデフォルトで、それらの入力を自動的に Layer の dtype にキャストします。float64 を使用したモデルを持っていた場合、それは TensorFlow 2 では多分静かに float32 を使用します、そして ‘Layer “layer-name” is casting an input tensor from dtype float64 to the layer’s dtype of float32’ で始まる警告が発行されます。修正するには、tf.keras.backend.set_floatx(‘float64′) でデフォルト dtype を float64 に設定するか、Layer コンストラクタの各々に dtype=’float64’ を渡します。より多くの情報は tf.keras.layers.Layer を見てください。
    • 幾つかの tf.assert_* メソッドは今では演算作成時 (i.e. この Python 行が実行されるとき) に assertion を上げます、入力 tensor の値が (session.run() の間ではなく) その時に知られる場合には。これが起きるとき、noop が返されて入力 tensor は non-feedable としてマークされます。換言すれば、それらが session.run() への feed_dict 引数でキーとして使用される場合、エラーが上げられます。また、幾つかの assert ops はそれをグラフ内に行ないませんので、グラフ構造が変わります。異なるグラフはそれらが明示的に与えられない (殆どの場合) とき異なる per-op ランダム seed という結果になる可能性があります。

 

バグ修正とその他の変更

(訳注 : 翻訳を省略します、必要であれば 原文 を参照してください。)

 
以上

TensorFlow 1.14.0 リリースノート

TensorFlow 1.14.0 リリースノート (翻訳)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 06/19/2019

* 本ページは、github TensorFlow の releases の TensorFlow 1.14.0 を翻訳したものです:

 

主要な特徴と改良

  • これは compat.v2 モジュールを含む最初の 1.x リリースです。このモジュールはライブラリに 1.x と 2.x の両者で動作するコードを公開することを可能にするために必要です。このリリースの後、2.0 Python API においてどのような後方非互換な変更も許容されません。
  • デフォルトで MKL-DNN contraction カーネルを有効にします。MKL-DNN は CPU ベクトルアーキテクチャに基づきベストなカーネル実装をディスパッチします。それらを無効にするには、–define=tensorflow_mkldnn_contraction_kernel=0 でビルドします。
  • 非 Windows システム・ライブラリは今ではバージョン付けされます。これは殆どのユーザに対しては no-op であるはずです、何故ならばそれはシステムパッケージ保守者か TensorFlow への拡張を構築する人にだけ影響を与えるからです。
    • Python wheels (Pip パッケージ) は一つのライブラリファイルを含みます。
      • Linux: libtensorflow_framework.so.1
      • MacOS: libtensorflow_framework.1.dylib
    • libtensorflow tarball アーカイブは libtensorflow と 2 つの symlink を含みます。MacOS .dylib ライブラリも同じですが、MacOS ライブラリ命名要件に適合します (i.e. libtensorflow.1.dylib) :
      • libtensorflow.so.1.14.0, 主ライブラリ
      • libtensorflow.so.1, 主ライブラリへのシンボリックシンク
      • libtensorflow.so, .so.1 へのシンボリックリンク

 

動作変更

  • 分散ストラテジーとカスタム訓練ループによる loss スケーリングの信頼性を改良するためにデフォルト loss reduction を AUTO として設定します。AUTO は reduction オプションが使用コンテキストにより決定されることを示しています。 殆ど総ての場合これは SUM_OVER_BATCH_SIZE がデフォルトになります。分散ストラテジースコープ内で使用されるとき、tf.keras compile と fit のような組み込み訓練ループの外では、reduction 値として ‘None’ か ‘SUM’ を想定します。他の値の使用はエラーを上げます。
  • v2 Loss クラスのインスタンスでない、compile API に渡される損失 (文字列か v1 損失) を LossWrapper にラップします。=> 総ての損失は今ではデフォルトとして SUM_OVER_BATCH_SIZE reduction を使用します。
  • add_metric か add_loss を使用してモデルに追加されたシンボリック tensor がある場合 run_eagerly と分散ストラテジーを無効にします。
  • tf.linspace(start, stop, num) は今では最後の値として常に “stop” を使用します (for num > 1)。
  • axis=None と batch_dims<0 のとき tf.gather の挙動は今では正しいです。
  • オブジェクトが既に存在していないのであれば GCS ディレクトリ・オブジェクトを作成するだけです。
  • map_vectorization 最適化で、ベクトル化された map ノードで並列化の次数を削減します。
  • バグ修正: tf.distribute.Strategy を使用するとき損失と勾配はグローバルバッチサイズに関して今ではより確実に正しくスケールされるはずです。
  • コサイン類似度損失を更新します – コサイン類似度から negate sign を除去しました。
  • DType はもはや int に変換可能ではありません。同じ結果を得るために int(dtype) の代わりに dtype.as_datatype_enum を使用してください。
  • for TPU embeddings のための勾配蓄積のためのデフォルトを true に変更しました。
  • deferred build モデルが使用されるとき今では eager モードで callbacks は値を記録します。
  • :pooling_ops への過渡的な依存性は除去されました。あるユーザはそのライブラリから演算子を参照する場合 :pooling_ops への明示的な依存性を追加する必要があるかもしれません。

 

バグ修正とその他の変更

  • ドキュメント
  • Deprecations とシンボル名変更。
    • 使用されていない StringViewVariantWrapper を除去します。
    • 使用されていない Fingerprint64Map op 登録を削除します。
    • SignatureDef util 関数は deprecated になりました。
    • 余分なところでは重複する “image” を除去するために tf.image 関数を名前変更しました
    • tf.keras.experimental.export は tf.keras.experimental.export_saved_model に名前変更されました
    • LayerNormalization API を args norm_axis と params_axis を axis で置き換えることにより標準化しました。
    • Tensor::UnsafeCopyFromInternal は Tensor::BitcastFrom のために deprecated です。
  • Keras & Python API
    • 以下のための v2 モジュールエイリアスを追加します :
      • tf.initializers => tf.keras.initializers
      • tf.losses => tf.keras.losses & tf.metrics => tf.keras.metrics
      • tf.optimizers => tf.keras.optimizers
    • tf.keras.layers.AbstractRNNCell を TF v2 のための RNN セルの好ましい実装として追加します。ユーザはカスタム動作を持つ RNN セルを実装するためにそれを使用できます。
    • eager におけるカスタム訓練ループの forward パスの最後に損失をクリアできるように clear_losses API を追加しています。
    • Keras compile でリストのリストを metrics param に渡すためのサポートを追加
    • precision への top-k と keras metrics への recall を追加しました。
    • cumsum と cumprod keras backend 関数のための public API を追加しています。
    • 修正: model.add_loss(symbolic_tensor) は eager 回りで動作するべきです。
    • tf.string_split と tf.strings_split に name 引数を追加します。
    • tf.keras.experimental.export を使用する Keras からエクスポートされた SavedModels へのマイナー変更。(評価モードのための SignatureDef キーは今では “test” の代わりに “eval” です)。これは近い将来に “test” に戻されるでしょう。
    • 入力が確率であるときの Keras のバイナリ交差エントロピーロジックを更新します。確率をロジットに変換する代わりに、確率のための交差エントロピー式を使用しています。
    • 生 TensorFlow 関数は今ではモデル作成の間に Keras Functional API と連動して使用できます。これは Functional API を使用するときユーザに殆どの場合 Lambda 層を作成する必要を除去します。Lambda 層のように、Variable 作成の結果になったり ops を割り当てる TensorFlow 関数はサポートされません。
    • Keras 訓練と検証カーブは同じプロット上に表示されます。
    • Layer と Model に dynamic constructor 引数を導入します、これは call メソッドで命令的な制御フローを使用しているときに True に設定されるべきです。
    • initializers のコンストラクタの dtype と call の partition_info を除去しています。
  • 新しい ops と改良された op 機能
    • 幾つかのステートレス map のために OpKernels を追加します。
    • AUCCurve と AUCSummationMethod enums のための v2 API を追加します。#tf-metrics-convergence
    • tf.math.nextafter op を追加します。
    • CompositeTensor 基底クラスを追加します。
    • tf.linalg.tridiagonal_solve op を追加します。
    • 共通テーブル演算のための opkernel テンプレートを追加します。
    • TensorFlow 2.0 の TFLite のためのサポートを追加しました。
    • グラフと profile 情報を集めるために summary trace API を追加します。
    • tf.gather に batch_dims 引数を追加します。
    • グラフ関数モードで add_metric のためのサポートを追加します。
    • BatchMatMulV2 のための C++ Gradient を追加します。
    • tf.random.binomial を追加しました。
    • SparseToDense op のための勾配を追加しました。
    • legacy string flat hash map op カーネルを追加します。
    • ragged size op を追加してそれを op ディスパッチャーに登録します。
    • tf.matmul にブロードキャスティング・サポートを追加します。
    • tf.einsum() のための ellipsis (…) サポートを追加します。
    • LinearOperator.adjoint と LinearOperator.H (エイリアス) を追加しました。
    • tf.linalg.tridiagonal_solve の GPU 実装を追加しました。
    • strings.byte_split を追加しました。
    • RaggedTensor.placeholder() を追加します。
    • 新しい “result_type” パラメータを tf.strings.split に追加します。
    • run_eagerly=True で compile された Model の層の上で trainable=False を設定するとき update を無効にするサポートをするために add_update に zero-arg callable を渡すことができます。
    • absl::string_view のために variant wrapper を追加します。
    • 総ての nest.* メソッドに expand_composites 引数を追加します。
    • Squeeze のために pfor converter を追加します。
    • tf.tile 勾配のためのバグ修正。
    • コアで CriticalSection を tf.CriticalSection として公開します。
    • aliases を使用するために Fingerprint64Map を更新します。
    • gather_nd のために ResourceVariable サポート。
    • ResourceVariable の gather op はバッチ次元をサポートします。
    • CPU で Variadic reduce がサポートされます。
    • (SparseTensor と RaggedTensor のような) CompositeTensors のための基本的なサポートによって tf.function を拡張します。
    • 検索テーブルを作成するためのテンプレートとインターフェイスを追加します。
    • 訓練後量子化ツールは複数の演算により共有される重みの量子化をサポートします。このツールのバージョンで作成されたモデルは重みのために INT8 型を使用してこのバージョン以降からのインタープリタでのみ実行可能です。
    • 不正な形式の gif 画像はフレームのカラーパレットで境界外へのアクセスという結果になります。今ではこれは修正されました。
    • image.resize は今では正しいピクセル中心を考慮して新しいカーネル (incl. anti-aliasing) を用います。
  • パフォーマンス
    • デフォルトで MKL-DNN contraction を有効にします。MKL-DNN は CPU ベクトル・アーキテクチャに基づいてベストなカーネル実装を動的にディスパッチします。それらを無効にするには、–define=tensorflow_mkldnn_contraction_kernel=0 でビルドします。
    • 分散ストラテジーのマルチホスト ncclAllReduce のためのサポート。
    • スレッド数が Python ベンチマーク渡り変化することを可能にするフラグを公開します。
  • TensorFlow 2.0 開発
    • v2 スパース・カテゴリカル交差エントロピーを追加します。
    • v2 損失を通して非 Tensor を許容します。
    • tf2.0 のための新しい GRU 実装として UnifiedGRU を追加します。2.0 では GRU のためのデフォルトの recurrent 活性化関数を ‘hard_sigmoid’ から ‘sigmoid’ へ、そして ‘reset_after’ を True に変更します。歴史的には recurrent 活性は ‘hard_sigmoid’ です、何故ならばそれは ‘sigmoid’ よりも高速だからです。CPU と GPU モード間の新しい unified backend では、CuDNN カーネルが sigmoid を使用していますので、CPU モードのためのデフォルトもまた sigmoid に変更します。それにより、デフォルト GRU は CPU と GPU カーネルの両者と互換になります。これは GPU を持つユーザにデフォルトで CuDNN カーネルを使用して訓練で 10x パフォーマンス・ブーストを可能にします。これはチェックポイントの互換性を損なう変更であることに注意してください。ユーザが 1.x 事前訓練チェックポイントを使用することを望む場合、1.x 動作に落としこむために層を GRU(recurrent_activation=’hard_sigmoid’, reset_after=False) で構築してください。
    • TF 2.0 – ユーザが compile で与えたものを常に反映するようにメトリック名を更新します。次のケースに影響します 1. 名前が ‘accuracy’/’crossentropy’ として与えられるとき 2. エイリアスされた関数名が使用されるとき e.g. ‘mse’ 3. 重み付けられたメトリック名から重み付けられた prefix を除去している
    • C Eager API のために Go ラッパーを追加し始めました
    • 2.0 で image.resize は今では新しい resize カーネルのための勾配をサポートします。
    • v2 API から tf.string_split を除去しました
    • tf.io で tf.contrib.proto.* ops を公開します (それらは TF2 で存在します)
    • 2.0 で TFLiteConverter API を更新します。from_concrete_function から from_concrete_functions に変更します。
    • eager モードで tf.distribute.experimental.MultiWorkerMirroredStrategy が動作することを可能にします。
    • v2 hinge と squared hinge 損失でバイナリと -1/1 ラベル入力の両者をサポートします。
  • TensorFlow Lite
    • 2.0 で tflite_convert のためのサポートを追加します。
    • 2.0 API から lite.OpHint, lite.experimental と lite.constant を除去します。
  • tf.contrib
    • https://arxiv.org/abs/1807.08518 で記述されているような Neural Turing 実装を追加しました。
    • TF distributions 上の tf.contrib.timeseries 依存性を除去します。
  • tf.data
    • Add num_parallel_reads and passing in a Dataset containing filenames into TextLineDataset and FixedLengthRecordDataset
    • Going forward we operate in TF 2.0, this change is part of the effort to slowly converting XYZDataset to DatasetV2 type which is the official version going to be used in TF 2.0 and motivated by some compatibility issue found, _BigtableXYZDataset (of type DatasetV2) does not implement the _as_variant_tensor() of DatasetV1, when moving contrib.bigtable to tensorflow_io. DatasetV2 への変換は TF 2.0 へ移行している一方で V1 を維持するためのオーバーヘッドを除去します。
    • dataset ops を python Dataset オブジェクト作成の間に (それを iterator 作成時に行なう代わりに) グラフに追加します (または Eager execution でカーネルを作成します)。
    • TensorArrays のためのサポートを tf.data Dataset に追加します。
    • tf.data 関数を defun を使用するように切り替え、legacy Defun を使用し続けるための非常口を提供します。
  • Toolchains
    • CUDNN_INSTALL_PATH, TENSORRT_INSTALL_PATH, NCCL_INSTALL_PATH, NCCL_HDR_PATH は deprecated です。
    • 代わりに TF_CUDA_PATHS を使用します、これは CUDA ライブラリとヘッダを見つけるために検索されるベースパスのカンマ区切りリストをサポートします。
    • TF コードは今では tensorflow_core に存在して tensorflow は単なる virtual pip パッケージです。TensorFlow を使用するプロジェクトのためにコード変更は必要ではありません、変更は透過です。
  • XLA
    • XLA HLO グラフは今では interactive_graphviz ツールで調査できます。
  • Estimator
    • tf.estimator.inputs の代わりに tf.compat.v1.estimator.inputs を使用します。
    • early_stopping.py の総ての API のために contrib 参照を tf.estimator.experimental.* で置き換えます。
    • TPUEstimator or DistributionStrategy のための –iterations_per_loop の「正しい」値を決定することはユーザのために課題であり続けます。ユーザ target TPU 実行時間に基づいて –iterations_per_loop 変数を動的に調整することを提案します、特に訓練モードで TPUEstimator を使用するためには。ユーザは –iterations_per_loop=300s のような値を指定するかもしれません、これはホスト側演算間の TPU 上で消費されるのがおおよそ 300 秒という結果になります。

 
以上

TensorFlow 1.13.0 リリースノート

TensorFlow 1.13.0 リリースノート (翻訳)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 02/24/2019

* 本ページは、github TensorFlow の releases の TensorFlow 1.13.0 を翻訳したものです:

 

主要な特徴と改良

  • TensorFlow Lite は contrib から core に移動しました。これは、Python モジュールが tf.ilte 下にありソースコードは今では tensorflow/contrib/lite ではなく tensorflow/lite 下にあることを意味します。
  • TensorFlow GPU バイナリは今では CUDA 10 と TensorRT 5.0 に対してビルドされています。
  • 総てのオペレーティングシステム上で Python3.7 のためのサポート。
  • NCCL を core に移しました。

 

動作変更

  • tf.constant で python floating 型の uint32/64 への変換を禁止します (他の整数型の適合する動作です)。
  • convolutional orthogonal initializer (convolutional_delta_orthogonal, convolutional_orthogonal_1D, convolutional_orthogonal_2D, convolutional_orthogonal_3D) の gain 引数が tf.initializers.orthogonal initializer と一致した動作を持つようにします、i.e. sqrt(gain) ではなく gain により出力 l2-norm をスケールします (これらの関数は現在 tf.contrib にありこれらは後方互換性が保証されていないことに注意してください)。

 

バグ修正とその他の変更

  • Documentation
    • quantize_and_dequantize_v2 で使用される rounding mode についての詳細とともに doc を更新します。
    • TensorFlow ライブラリを使用する前に tensorflow::port::InitMain() が呼び出されるべきであることを明記します。これをしないプログラムは総てのプラットフォームへ可搬ではありません。
  • Deprecations とシンボル名変更。
    • 次のエンドポイントのための deprecation を除去しています : ttf.acos, tf.acosh, tf.add, tf.as_string, tf.asin, tf.asinh, tf.atan, tf.atan2, tf.atanh, tf.cos, tf.cosh, tf.equal, tf.exp, tf.floor, tf.greater, tf.greater_equal, tf.less, tf.less_equal, tf.log, tf.logp1, tf.logical_and, tf.logical_not, tf.logical_or, tf.maximum, tf.minimum, tf.not_equal, tf.sin, tf.sinh, tf.tan
    • tf.data.Dataset.shard を deprecate します。
    • (saved_model.load により置き換えられる) saved_model.loader.load と (V2 で saved_model.main_op により置き換えられる) saved_model.main_op を deprecate します。
    • tf.QUANTIZED_DTYPES を deprecate します。公式の新しいシンボルは tf.dtypes.QUANTIZED_DTYPES です。
    • deprecate されたパッケージのための sklearn imports を更新します。
    • Dataset.range のために Variable.count_up_to と tf.count_up_to を deprecate します。
    • confusion_matrix を tf.train.confusion_matrix の代わりに tf.math.confusion_matrix として export します。
    • dtypes.py の総ての constant のために tf.dtypes. エンドポイントを追加します ; versions.py のエンドポイントを tf.sysconfig. と tf.version. の対応するエンドポイントに移します ; tf.saved_model サブモジュール下の総ての constant を tf.saved_model モジュールへ移します。新しいエンドポイントは V1 と V2 で追加されますが存在するエンドポイント除去は V2 で適用されるのみです。
    • デバイス割り当てが collocation コンテキスト・マネージャ内の collocation constraint をオーバーライドするという動作を deprecate します。
  • Keras & Python API
    • tf.register_tensor_conversion_function に類似した Keras 機能を追加します。
    • サブクラス化された Keras モデルは今では tf.contrib.saved_model.save_keras_model を通してセーブされます。
    • LinearOperator.matmul は今では新しい LinearOperator を返します。
  • 新しい ops と改良された op 機能
    • 最近傍 (Nearest Neighbor) Resize op を追加します。
    • parse_values に ignore_unknown 引数を追加します、これは未知の hyperparameter 型に対して ValueError を抑制します。tf.linalg.matvec 便宜関数を追加します。
    • tf.einsum() は “ii->” のようなサポートされない式のために ValueError を上げます。
    • tf.signal.dct と tf.signal.idct の DCT-I and IDCT-I を追加します。
    • LU decomposition op を追加します。
    • estimator の勾配ブースティング木に quantile 損失を追加します。
    • rounding アルゴリズムを選択するために QuantizeAndDequantizeV2 op に round_mode を追加します。
    • unicode_encode, unicode_decode, unicode_decode_with_offsets, unicode_split, unicode_split_with_offset, そして unicode_transcode ops を追加します。特に、この Op は様々な入力テキスト・エンコーディング形式を主要な Unicode エンコーディング (UTF-8, UTF-16-BE, UTF-32-BE) にエンコード、デコードそして transcode します。
    • substr op へ “unit” 属性を追加します、これは unicode 文字を含む文字列の部分文字列を得ることを可能にします。
    • Ragged Tensor のためのブロードキャスティング・サポート。
    • SpaceToDepth は uint8 データ型をサポートします。
    • estimator でマルチラベル分位点回帰をサポートします。
    • 今では tf.nn.safe_embedding_lookup_sparse, tf.nn.sampled_softmax そして tf.nn.nce_loss で “div” をデフォルト partition_strategy として使用します。hyperparameter は無視されます。
  • パフォーマンス
    • GPU cumsum/cumprod のパフォーマンスを 300x まで改良します。
    • 殆どの TPU embedding optimizer の重み減衰のためのサポートを追加しました、AdamW と MomentumW を含みます。
  • TensorFlow 2.0 開発
    • TF2.0 に変換するためのコマンドライン・ツール, tf_upgrade_v2 を追加します。
    • TensorFlow 2.0 のために tf.spectral を tf.signal 内にマージします。
    • 2.0 では LSTM のためのデフォルト recurrent 活性化関数を ‘hard_sigmoid’ から ‘sigmoid’ に変更します。歴史的には recurrent 活性は ‘hard_sigmoid’ では何故ならばそれは ‘sigmoid’ よりも速いからです。CPU と GPU モード間の新しい統一されたバックエンドでは、CuDNN カーネルが sigmoid を使用していますので、CPU モードのためのデフォルトもまた sigmoid に変更します。それにより、デフォルト LSTM は CPU と GPU カーネルの両者で互換になるでしょう。これは GPU を持つユーザに、デフォルトで CuDNN カーネルを使用して訓練で 10x パフォーマンス・ブーストを得ることを可能にします。これはチェックポイントの互換性を損なう変更であることに注意してください。ユーザが 1.x の事前訓練されたチェックポイントを使用することを望む場合には、1.x の挙動に戻すために LSTM(recurrent_activation=’hard_sigmoid’) で層を構築してください。
  • TensorFlow Lite
    • tensorflow/contrib/lite から tensorflow/lite に移します。
    • TensorFlow Lite デリゲートを導入するために実験的な Java API を追加します。
    • TensorFlow Lite Java API で文字列のサポートを追加します。
  • tf.contrib:
    • Apache IGFS へのアクセスをサポートするために Apache Ignite Filesystem プラグインを追加します。
    • Dropout は今では rate 引数を取ります、keep_prob は deprecated です。
    • Estimator の出現への参照 tf.contrib.estimator は tf.estimator に変更されました :
      • tf.contrib.estimator.BaselineEstimator は tf.estimator.BaselineEstimator によって (置き換えられました)。
      • tf.contrib.estimator.DNNLinearCombinedEstimator は tf.estimator.DNNLinearCombinedEstimator によって。
      • tf.contrib.estimator.DNNEstimator は tf.estimator.DNNEstimator によって。
      • tf.contrib.estimator.LinearEstimator は tf.estimator.LinearEstimator によって。
      • tf.contrib.estimator.InMemoryEvaluatorHook と tf.estimator.experimental.InMemoryEvaluatorHook。
      • tf.contrib.estimator.make_stop_at_checkpoint_step_hook は tf.estimator.experimental.make_stop_at_checkpoint_step_hook によって。
    • tf.contrib.distribute.DistributionStrategy のための新しい名前として tf.distribute.Strategy を晒します (= expose)。
    • linear optimizer を contrib から core に移します。
    • tf.contrib.signal を tf.signal に移します (エイリアスは tf.contrib.signal で維持しています)。
    • tf.contrib.estimator.export_all_saved_models とその関連のユーザは tf.estimator.Estimator.experimental_export_all_saved_models に切り替えるべきです。

  • tf.data:
    • StatsAggregator を使用して tf.data.Dataset パイプラインから統計を集めるオプションを configure する、tf.data.experimental.StatsOptions() を追加します。tf.data.Options にネストされたオプション, experimental_stats (これは tf.data.experimental.StatsOptions オブジェクトを取ります) を追加します。tf.data.experimental.set_stats_agregator は deprecate します。
    • パフォーマンス最適化 :
      • tf.data パフォーマンス最適化を有効にするオプションを configure する、tf.data.experimental.OptimizationOptions() を追加します。tf.data.Options にネストされたオプション, experimental_optimization (これは tf.data.experimental.OptimizationOptions オブジェクトを取ります) を追加します。 tf.data.Options から パフォーマンス最適化オプションを除去し、代わりにそれらを tf.data.experimental.OptimizationOptions 下に追加します。
      • デフォルトで map_and_batch_fusion と noop_elimination 最適化を有効にします。それらは map_and_batch = False または noop_elimination = False をそれぞれ設定するために tf.data.experimental.OptimizationOptions を configure することにより無効にできます。総てのデフォルト最適化を無効にするには、apply_default_optimizations = False を設定します。
      • map_and_filter_fusion で並列マップ (= parallel map) をサポートします。
      • non-resource tf.Variables を使用する入力パイプラインのための静的最適化を無効にします。
    • NUMA-aware MapAndBatch データセットを追加します。
    • V1 で tf.data.Dataset.make_one_shot_iterator() を deprecate し、V2 からそれを除去し、そして tf.compat.v1.data.make_one_shot_iterator() を追加しました。
    • V1 で tf.data.Dataset.make_initializable_iterator() を depreate し、V2 からそれを除去し、そして tf.compat.v1.data.make_initializable_iterator() を追加しました。
    • コア tf.data 変換 (= transformations) でネストされたデータセットサポートを有効にします。
    • tf.data.Dataset 実装者のために: Dataset.output_{types,shapes,classes} を置き換えるために tf.data.Dataset._element_structured 属性を追加しました。
    • tf.data.Dataset.interleave と tf.data.Dataset.map の num_parallel_calls を Eager モードで動作するようにします。
  • Toolchains
    • EVP_MD_CTX_destroy を回避することで OpenSSL 互換性を修正しました。
    • deprecation 警告を表示出力するために境界チェックを追加しました。
    • CUDA 依存性を 10.0 にアップグレードしました。
    • Android NDK r14b でビルドするために、ndroid-ndk-r14b/platforms/android-14/arch-*/usr/include/linux/futex.h に “#include ” を追加します。
    • :android_tensorflow_lib_selective_registration* ターゲットを除去しました、代わりに :android_tensorflow_lib_lite* ターゲットを使用してください。
  • XLA
    • RoundToEven 関数を xla/client/lib/math.h に移します。
    • “1” または “true” に設定された新しい環境変数 TF_XLA_DEBUG_OPTIONS_PASSTHROUGH は XRTCompile op 内で渡されるデバッグオプションに XLA コンパイル・バックエンドに直接渡されることを可能にします。そのような変数が (サービス側で) 設定されない場合、制限されたセットだけが渡し通されます。
    • XRTCompile op に 2 番目の return 引数として (XLA コンパイルからの結果の) ProgramShape を返すことを可能にします。
    • XLA HLO グラフは今では SVG/HTML として表現されます。
  • Estimator
    • tf.contrib.estimator.BaselineEstimator の総ての出現を tf.estimator.BaselineEstimator で置き換えます。
    • tf.contrib.estimator.DNNLinearCombinedEstimator の総ての出現を tf.estimator.DNNLinearCombinedEstimator で置き換えます。
    • tf.contrib.estimator.DNNEstimator の総ての出現を tf.estimator.DNNEstimator で置き換えます。
    • tf.contrib.estimator.LinearEstimator の総ての出現を tf.estimator.LinearEstimator で置き換えます。
    • tf.contrib.estimator.export_all_saved_models とその関連のユーザは tf.estimator.Estimator.experimental_export_all_saved_models に切り替えるべきです。
    • regression_head を Canned Estimator V2 のための新しい Head API に更新します。
    • multi_class_head を Canned Estimator V2 のための Head API に切り替えます。
    • tf.contrib.estimator.InMemoryEvaluatorHook と tf.contrib.estimator.make_stop_at_checkpoint_step_hook の総ての出現を tf.estimator.experimental.InMemoryEvaluatorHook と tf.estimator.experimental.make_stop_at_checkpoint_step_hook で置き換えます。
    • linear optimizer を contrib から core に移します。

 
以上

TensorFlow 1.12.0 リリースノート

TensorFlow 1.12.0 リリースノート (翻訳)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 11/06/2018

* 本ページは、github TensorFlow の releases の TensorFlow 1.12.0 を翻訳したものです:

 

主要な特徴と改良

  • Keras モデルは今では SavedModel フォーマット (tf.contrib.saved_model.save_keras_model()) に直接的にエクスポートされて Tensorflow Serving で利用可能です。
  • Keras モデルは今では tf.data.Dataset による評価をサポートします。
  • TensorFlow バイナリは XLA サポートとともにビルドされてデフォルトでリンクされます。
  • Apache Ignite と作業することを可能にするために contrib/ignite に Ignite Dataset が追加されました。

 

バグ修正とその他の変更

  • tf.data:
    • tf.data ユーザは今では tf.data.Options(), tf.data.Dataset.options(), そして tf.data.Dataset.with_options() をそれぞれ使用して、TensorFlow 入力パイプラインのオプションを表して、取得して、設定することができます。
    • 新しい tf.data.Dataset.reduce() API はユーザ提供の reduce 関数を使用して有限のデータセットを単一の要素に reduce することをユーザに可能にします。
    • 新しい tf.data.Dataset.window() API は入力データセットの有限ウィンドウを作成することをユーザに可能にします; tf.data.Dataset.reduce() API と結合されたとき、これはユーザにカスタマイズされたバッチ処理を実装することを可能にします。
    • 総ての C++ コードは tensorflow::data 名前空間に移動します。
    • num_parallel_calls のサポートを tf.data.Dataset.interleave に追加します。
  • tf.contrib:
    • tf.contrib.linalg を除去します。tf.linalg が代わりに使用されるべきです。
    • tf.contrib.get_signature_def_by_key(metagraph_def, signature_def_key) への任意の呼び出しを
      meta_graph_def.signature_def[signature_def_key] で置き換えます。tf.contrib.get_signature_def_by_key により投げられた ValueError 例外は KeyError 例外の捕捉に置き換えられるべきです。
  • tf.contrib.data
    • deprecated です、そして tf.data.experimental で置き換えられます。
  • Other:
    • XLA 安定性とパフォーマンスを改良しました。
    • Cloud ML エンジンの単一レプリカ TensorBoard summary stats を修正します。
    • TPUEstimator: データセット iterator を並列に初期化します。
    • TPU 上の Keras 品質とバグ修正。
    • jemalloc の代わりに、システム malloc を使用するように戻します、何故ならばそれはビルドを単純化して同等のパフォーマンスを持つからです。
    • tf.nn.softplus と tf.nn.softsign OpDefs から整数型を除去します。これはバグ修正です;これらの ops は整数をサポートすることを決して仮定していませんでした。
    • 単一の次元を持つ Tensor の部分スライシングを可能にします。
    • Unicode キャラクタ(s) で文字列長を計算するためのオプションを追加します。
    • tensor を SubSlice する機能を追加します。
    • searchsorted (ie lower/upper_bound) op を追加します。
    • ブースト木にモデル説明機能 (= explainability) を追加します。
    • tf.substr に対して負の位置をサポートします。
    • bijector_impl で以前はバグがありました、そこでは _reduce_jacobian_det_over_event はスカラー ILDJ 実装を正しく処理していません。
    • tf eager execution で、GradientTape コンテキストへ再度入ることを可能にします。
    • tf_api_version フラグを追加します。–define=tf_api_version=2 が渡されると、bazel は TensorFlow API version 2.0 をビルドします。TensorFlow 2.0 は活発な開発下にあり現時点で保証はありません。
    • TfRecordWriter に追加の compression オプションを追加します。
    • regex full match 演算のためのパフォーマンス改良。
    • tf.GraphKeys.VARIABLES を tf.GraphKeys.GLOBAL_VARIABLES で置き換えます。
    • 使用されていない動的学習率サポートを除去します。

 
以上

TensorFlow 1.11.0 リリースノート

TensorFlow 1.11.0 リリースノート (翻訳)

翻訳 : (株)クラスキャット セールスインフォメーション
日時 : 09/28/2018

* 本ページは、github TensorFlow の releases の TensorFlow 1.11.0 を翻訳したものです:

 

主要な特徴と改良

  • Nvidia GPU:
    • 事前ビルドされたバイナリは今では (TensorFlow 1.11 の時点で) cuDNN 7.2 と TensorRT 4 に対してビルドされています。
  • Google Cloud TPU:
    • Google Cloud TPU 上 Keras のための実験的 tf.data 統合。
    • Google Cloud TPU 上 eager execution のための実験的 / プレビュー・サポート。
  • DistributionStrategy:
    • tf.keras でマルチ GPU DistributionStrategy サポートを追加します。今ではユーザは彼らのモデルをマルチ GPU 上で分散するために fit, evaluate そして predict を使用できます。
    • Estimator でマルチワーカー DistributionStrategy とスタンドアローン・クライアント・サポートを追加します。より詳細のためには [README] (https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/distribute) を見てください。
  • カーネルに問い合わせるための C, C++, そして Python 関数を追加します。

 

互換性に影響する変更

  • Keras:
    • tf.keras RandomUniform, RandomNormal, and TruncatedNormal initializers のためのデフォルト値は外部 Keras のそれらに一致するように変更されました。
    • Breaking change: Sequential モデル上の model.get_config() は今では基礎層のための config のリストの代わりに (他の Model インスタンスと一貫した) config 辞書を返します。

 

バグ修正とその他の変更

  • C++:
    • SessionFactory::NewSession のシグネチャを失敗時に (それが) 意味のあるエラーメッセージを返せるように変更しました。
  • tf.data:
    • tf.contrib.data.make_csv_dataset() から num_parallel_parser_calls 引数を除去します。[tf.data] tf.contrib.data.make_csv_dataset() からnum_parallel_parser_calls 引数を除去します。(訳注: 原文ママ)
    • tf.data.Dataset.list_files() は引数がファイルにマッチしない場合初期化時に例外をあげます。
    • 明確化のために BigTable クラスを BigtableTable に名前変更しました。
    • Cloud Bigtable API の利用の文書化。
    • tf.contrib.data.reduce_dataset を追加しています、これはデータセットを単一要素に減じるために使用できます。tf.contrib.data.sliding_window_batch の一般化です。
  • INC:
    • triangular solve へのランタイムの改良。
  • tf.contrib:
    • tf.keras.layers.LocallyConnected2D と tf.keras.layers.LocallyConnected1D に implementation 引数を追加します。新しいモード (implementation=2) は forward パスを単一の密行列乗算として遂行し、特定のシナリオでは劇的なスピードアップを可能にします (しかし他ではより悪いパフォーマンスです – docstring を見てください)。オプションはまた padding=same を使用することを可能にします。
    • tf.fill と tf.constant の違いを明確にするドキュメントを追加します。
    • 実験的な IndexedDatasets を追加します。
    • lite proto ランタイムを使用して selective registration ターゲットを追加します。
    • TensorFlow Lite Java に単純な Tensor と DataType クラスを追加します。
    • uint32 と uint64 への/からの bitcasting のサポートを追加します。
    • Estimator のサブクラスを追加しました、それは SavedModel から作成できます (SavedModelEstimator)。
    • 引数として leaf index modes を追加します。
    • tf.contrib.image.transform で入力と異なる出力 shape を許容します。
    • 自然な順序にするために StackedRNNCell の state_size 順序を変更します。既存の挙動を保持するために、StackedRNNCells を構築するときユーザは everse_state_order=True を追加できます。
    • self.session() または self.cached_session() を支持し self.test_session() を deprecate します。
    • 直接 tensor.proto.h をインポートします (transitive import は間もなく tensor.h から除去されます)。
    • Estimator.train() は今では tf.contrib.summary.* 要約をサポートします ; .train() への各呼び出しは共有された一つを再利用するのではなく今では個別の tfevents ファイルを作成します。
    • FTRL L2-shrinkage 挙動を修正します: L2 shrinkage 項からの勾配は accumulator で終わるべきではありません。
    • Windows 上 toco コンパイル/実行を修正します。
    • どの Google Cloud Engine ゾーンで tensorflow が動作しているかを検出するための GoogleZoneProvider クラスが追加されました。
    • nullptr 上で任意の C API の TF_Delete* を呼び出すことは今では安全です。
    • Android 上幾つかのエラーを logcat にログします。
    • 量子化された TFLite 推論モデルの精度を改良するために TFLite で FakeQuant 数値を調和させます (= match) 。
    • GCS ファイルシステムのためのオプションの bucket 位置チェック。
    • StringSplitOp & StringSplitV2Op のためのパフォーマンス拡張。
    • regex replace 演算のためのパフォーマンス改良。
    • TFRecordWriter は .write() が失敗する場合に今ではエラーをあげます。
    • TPU: TPUClusterResolvers のより役立つエラーメッセージ。
    • MetaGraphs を追加するための SavedModelBuilder メソッドへの legacy_init_op 引数は deprecated になりました。代わりに同値な main_op 引数を使用してください。この一部として、main_op 上のチェックは以前はロード時にのみ成されていたところを今では SavedModel 構築時に単一の main_op または legacy_init_op のための明示的にチェックします。
    • Estimator 訓練のためのプロトコルは今では RunConfig で構成可能です。
    • Triangular solve パフォーマンス改良。
    • TF と Keras 間の RNN cell インターフェイスを統一します。Keras と TF RNN cell に新しい get_initial_state() を追加します、これは既存の zero_state() メソッドを置き換えるために使用します。
    • Keras の変数の初期化を更新します。
    • tensorflow/contrib で “constrained_optimization” に更新します。
    • boosted trees: pruning モードを追加します。
    • tf.train.Checkpoint は古いチェックポイントをデフォルトでは削除しません。
    • tfdbg: ダンプされる tensor データにより占有される総計ディスク容量を 100 GB に制限します。この上限の調整を可能にするために環境変数 TFDBG_DISK_BYTES_LIMIT を追加します。

 
以上

TensorFlow 1.10.0 リリースノート

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 UbuntuInstall 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 に対応).

 
以上

TensorFlow 1.9.0 リリースノート

TensorFlow 1.9.0 リリースノート (翻訳)

翻訳 : (株)クラスキャット セールスインフォメーション
日時 : 07/11/2018

* 本ページは、github TensorFlow の releases の TensorFlow 1.9.0 を翻訳したものです:

 

主要な特徴と改良

 

互換性に影響する変更

  • 空の変数スコープをオープンしている場合; variable_scope(”, …) を variable_scope(tf.get_variable_scope(), …) により置き換えます。

  • カスタム ops を構築するためのヘッダは site-packages/external から site-packages/tensorflow/include/external に移動しました。

 

バグ修正とその他の変更

  • tfe.Network は deprecated です。tf.keras.Model から継承してください。
  • 次の条件下で層構造の (= Layered) 変数名は変更されます :
    • カスタム変数スコープで tf.keras.layers を使用する
    • サブクラス化された tf.keras.Model クラスで tf.layers を使用する。より詳細は こちら を見てください。
  • tf.data:
    • Dataset.from_generator() はネストされた generator を作成するために、今では args リストを受け取ります。
    • Dataset.list_files() は今では shuffle=False か seed が渡された時に決定論敵な結果を生成します。
    • tf.contrib.data.sample_from_datasets() と tf.contrib.data.choose_from_datasets() は複数のデータセットからサンプリングまたは決定論的に要素を選択することを簡単にします。
    • tf.contrib.data.make_csv_dataset() は今では引用文字列の改行をサポートします。make_csv_dataset から稀にしか使用されない 2 つの引数が除去されました。
    • (C++) DatasetBase::DebugString() は今では const です。
    • (C++) DatasetBase::MakeIterator() は DatasetBase::MakeIteratorInternal() に名前変更されました。
    • (C++) IteratorBase::Initialize() メソッドが iterator コンストラクションの間にエラーを上げるサポートのために追加されました。
  • Eager Execution:
    • tf.GradientTape.stop_recording を通した勾配計算のための recording 演算を休止する機能を追加しました。
    • ドキュメント、入門ノートブックを更新しました。
  • tf.keras:
    • Keras コードを _impl フォルダから移動して API ファイルを削除します。
    • tf.keras.Model.save_weights は今ではデフォルトで TensorFlow フォーマットでセーブします。
    • dataset iterator を tf.keras.Model training/eval メソッドに渡されることを可能にします。
  • TensorFlow Debugger (tfdbg): TensorBoard Debugger Plugin が gRPC メッセージのサイズ制限 (4 MB) を超える総計ソースファイル・サイズを処理できなかった問題を修正。
  • tf.contrib:
    • tf.contrib.framework.zero_initializer は ResourceVariable をサポートします。
    • “constrained_optimization” を tensorflow/contrib に追加します。
  • その他:
    • GCS Configuration Ops を追加します。
    • エラー・ステータスの伝播を有効にするために MakeIterator のシグネチャを変更しています。
    • 2 つのディリクレ分布のための KL ダイバージェンス。
    • EOF を越えたある種の読み込みに対する一貫した GcsFileSystem の挙動。
    • eager とグラフ・モードに渡る範囲に適合するために tf.scan のためのベンチマークを更新。
    • complex (複素) dtypes のための tf.reduce_prod 勾配のバグを修正。
    • Dataset.from_generator() にオプション args 引数を追加します。
    • 変数で ‘.’ の使用を許容します (e.g. “hparams.parse(‘a.b=1.0’)”)、これは以前はエラーを上げていたでしょう。これは埋め込まれた ‘.’ シンボル (e.g. ‘a.b’) を持つ属性名に対応し、これは間接的にだけアクセス可能です (e.g. getattr と setattr を通して)。これをセットアップするためにはユーザは最初に hparam オブジェクトに変数を明示的に追加する必要があります (e.g. “hparams.add_hparam(name=’a.b’, value=0.0)”)。
    • グラフと eager モードにおける tf.scan のためのベンチマーク。
    • FFT, FFT2D, FFT3D, IFFT, IFFT2D, と IFFT3D に complex128 サポートを追加しました。
    • nn.embedding_lookup_sparse 内の id を一意にします。これはバッチ内に反復する id があるとき埋め込みを検索するための RPC 呼び出しを減じるのに役立ちます。
    • ブースト木で indicator カラムをサポート。
    • tf.gradients() を整数 tensor を通しての逆伝播から防ぎます。
    • tensorflow.linalg に LinearOperator[1D,2D,3D]Circulant が追加されました。
    • Conv3D, Conv3DBackpropInput, Conv3DBackpropFilter は今では arbitrary をサポートします。
    • オブジェクト・ベースのチェックポイントの読み書きのために tf.train.Checkpoint を追加しました。
    • LinearOperatorKronecker を追加しました、クロネッカー積の dense-free 実装です。
    • LinearOperator にブロードキャストを可能にします。
    • SavedModelBuilder は今では同じ basename と同じコンテンツを持つファイルをポイントするアセット名の重複は排除します。これは、SavedModels に含まれる新しいアセット・ファイルという結果になるかもしれないことに注意してください。同じ名前で異なるコンテンツを持つアセットは以前は互いに上書きされていました。

 
以上

TensorFlow 1.8.0 リリースノート

TensorFlow 1.8.0 リリースノート(翻訳)

翻訳 : (株)クラスキャット セールスインフォメーション
日時 : 04/28/2018

* 本ページは、github TensorFlow の releases の TensorFlow 1.8.0 を翻訳したものです:

 

主要な特徴と改良

  • 一つのマシン上の複数 GPU 上の Estimator モデルを実行するために今は tf.contrib.distribute.MirroredStrategy() を tf.estimator.RunConfig() に渡すことができます。
  • tf.contrib.data.prefetch_to_device() を追加します、これは GPU メモリへの prefetch をサポートします。
  • pre-made Estimator として Gradient Boosted Trees を追加します : BoostedTreesClassifier, BoostedTreesRegressor。
  • Cloud TPU のための第三世代パイプライン config を追加します、これはパフォーマンスとユーザビリティを改善します。
  • tf.contrib.bayesflow はそれ自身のレポジトリに move out します。
  • generic proto 解析と RPC 通信を可能にする tf.contrib.{proto,rpc} を追加しました。

 

バグ修正とその他の変更

  • tf.data:
    • tf.contrib.data.prefetch_to_device を追加します、これは GPU メモリに対して dataset 要素を prefetch することを可能にします。
    • tf.contrib.data.AUTOTUNE を追加します、これは tf.data ランタイムに貴方のシステムと環境に基づいて prefetch バッファサイズを自動的に調整することを可能にします。
    • CSV ファイルの dataset を構築するために tf.contrib.data.make_csv_dataset を追加します。
  • Eager Execution:
    • eager execution では Dataset は今では (dataset の batch のために) 標準的な python iterator として使用できます。eager execution が有効であるとき Dataset.__iter__() と Dataset.make_one_shot_iterator() の両者は今では iterator を作成するために使用できます。
    • 自動デバイス配置が有効になりました (i.e., 利用可能なときには明示的な with tf.device(“/gpu:0”) を必要とすることなく、GPU を使用します)。 (Fixes #14133)
    • tf.GradientTape は contrib から move out しました。
  • tf.keras:
    • fashion mnist データセットを追加しました。
    • 新しいデータ前処理関数: image/random_brightness, sequence/TimeseriesGenerator, そして text/hashing_trick。
  • Accelerated Linear Algebra (XLA):
    • 参照 util の select と scatter そして evaluator は今では関係を切る (= break ties) ために lexicographical order を使用します。
  • TensorFlow デバッガー (tfdbg) CLI:
    • tensor-filte 演算の間、正規表現によるノードの排除 (= exclusion) を可能にします。
    • ある種のテキスト端末で偽の (= spurious) 背景カラーを修正します。
  • tf.contrib:
    • meta-distribution BatchReshape を追加します、これはバッチ次元を reshape します。
    • tf.contrib.layers.recompute_grad は TPU 上の明示的な勾配チェックポインティングのために動作します。
    • tf.contrib.framework.argsort を追加します。
    • DNNBoostedTreeCombinedEstimator を特徴カラムと損失のコア・バージョンとともに動作することを可能にします。
    • 非線型画像ワーピング ops を追加します : tf.contrib.image.sparse_image_warp, tf.contrib.image.dense_image_warp, そして tf.contrib.image.interpolate_spline。
    • tf.contrib.opt.MultitaskOptimizerWrapper のバグを修正します、そこでは tensor の型がミスマッチでした。
  • その他:
    • 低位グラフ構築は今では TensorFlow C API を呼び出します。この変更は殆どのユーザに対して不可視であるべきですが、このリリースでは環境変数 TF_C_API_GRAPH_CONSTRUCTION=0 を設定することにより無効にできます。将来のリリースはこの変更を無効にするきのうを除去するでしょう。この脱出用ハッチを使用して貴方自身でバグを見つける場合には ファイル してください。
    • tf.distributions.Distribution の shapes の記述とチュートリアル notebook へのポインタを追加します。
    • scatter 演算を更新します :
      • tf.scatter_min と tf.scatter_max を追加します。
      • scatter 演算を scalar 更新パラメータと共に動作するように拡張します。
    • TensorFlow codebase 内のみの使用のために cuDNN RNN ops を core に移します。
    • Conv2d, Conv2dBackpropInput, and Conv2dBackpropFilter のために float64 サポートを追加します。
    • AvgPool/AvgPoolGrad のために float64 サポートを追加します。
    • グラフ名スコープをスレッドローカルにします、その結果マルチスレッド環境で正しく動作します。
    • Linux 上で遅い primitive を回避するために nsync 同期ライブラリを更新します。
    • カスタム ops を構築するとき C include パス上の nsync/public を置く必要性を除去しました。
    • tf.image.psnr, tf.image.ssim, tf.image.ssim_multiscale, tf.image.image_gradients, tf.image.sobel_edges を追加します。
    • https://js.tensorflow.org へのリンクを追加します。
    • 直交行列の非一様性を修正します。
    • 複数画像 Estimator 評価 summaries が正しく表示されなかったバグを修正します。

 
以上

TensorFlow 1.7.0 リリースノート

TensorFlow 1.7.0 リリースノート(翻訳)

翻訳 : (株)クラスキャット セールスインフォメーション
日時 : 03/29/2018

* 本ページは、github TensorFlow の releases の TensorFlow 1.7.0 を翻訳したものです:

 

主要な特徴と改良

  • Eager モードは contrib から移動しています、enable_eager_execution() を試してください。
  • Graph は、TensorFlow Lite と互換な固定小数点数の量子化のエミュレーションを書き直し、これは新しい tf.contrib.quantize パッケージによってサポートされます。
  • 勾配計算を tf.custom_gradient で簡単にカスタマイズします。
  • TensorBoard Debugger プラグイン、TensorFlow Debugger (tfdbg) のグラフィカル・ユーザインタフェース (GUI)、が今では alpha になります。
  • 新しい tf.contrib.data.SqlDataset で sqlite データベースを Dataset として読むための実験的サポート。
  • 分散 Mutex / CriticalSection が tf.contrib.framework.CriticalSection に追加されました。
  • tf.regex_replace によるより良いテキスト処理。
  • tf.contrib.data.bucket_by_sequence_length による簡単で、効率的なシークエンス入力。

 

バグ修正とその他の変更

  • Accelerated Linear Algebra (XLA):
    • XLA のための MaxPoolGradGrad サポートの追加。
    • XLA において Tensorflow からの CSE パスは今では無効にされています。
  • tf.data:
    • tf.data.Dataset
      • tf.load_op_library() メカニズムを使用した、C++ Dataset op kernel を外部ライブラリとしてビルドするためのサポートを追加。
      • Dataset.list_files() は今ではデフォルトでその出力をシャッフルします。
      • Dataset.shuffle(…, seed=tf.constant(0, dtype=tf.int64)) は今では Dataset.shuffle(…, seed=0) と同じ要素のシークエンスを生成します。
    • tf.data.TFRecordDataset に num_parallel_reads 引数を追加。
  • tf.contrib:
    • tf.contrib.bayesflow.halton_sequence は今ではランダム化をサポートします。
    • tf.contrib.all_reduce におけるスカラーのサポートを追加。
    • tf.contrib.bayesflow.mcmc_diagnostics に effective_sample_size を追加。
    • tf.contrib.bayesflow.mcmc_diagnostics に potential_scale_reduction を追加。
    • BatchNormalization, Kumaraswamy bijector を追加。
    • tf.contrib.learn を deprecate します。既存のコードをどのように変換するかの手順は contrib/learn/README.md をチェックしてください。(訳注: リンクはなし)
    • tf.contrib.data
      • deprecated な tf.contrib.data.Dataset, tf.contrib.data.Iterator, tf.contrib.data.FixedLengthRecordDataset, tf.contrib.data.TextLineDataset, そして tf.contrib.data.TFRecordDataset クラスを除去しました。
      • bucket_by_sequence_length, sliding_window_batch, そして make_batched_features_dataset を追加しました。
    • 保守されていない tf.contrib.ndlstm を除去しました。https://github.com/tmbarchive/tfndlstm でそれを外部で見つけることができます。
    • tf.contrib.bayesflow の殆どをそれ自身の repo: tfp に移動しました。
  • その他:
    • 例外が発生する場合、tf.py_func は今では完全なスタック・トレースをレポートします。
    • Cloud TPU のために GKE の統合により TPUClusterResolver を統合します。
    • サンプラーの統計的テストのためのライブラリの追加。
    • GCE VM からのデータを Cloud TPU にストリームするためのヘルパーを追加。
    • ClusterResolvers を TPUEstimator により統合します。
    • metropolis_hastings インターフェイスを HMC kernel で統一。
    • LIBXSMM 畳み込みを別の –define フラグに移動する結果それらはデフォルトでは無効化されました。
    • MomentumOptimizer lambda の修正。
    • プログラマブルな docstring を通して tfp.layers のボイラープレートを削減します。
    • auc_with_confidence_intervals を追加します、線形対数時間計算量で AUC と信頼区間 (= confidence interval) を計算するためのメソッドです。
    • array_ops.identity が要請を満たさない場合にユーザが自身のリンク関数を定義できる使用方法を満たすために、regression_head は今ではカスタマイズされたリンク関数を受け取ります。
    • VariableDef proto から作成された ResourceVariables のために initialized_value と initial_value の挙動を修正します。
    • テンソルの仕様を表現するために TensorSpec を追加します。
    • Constant folding pass は今では決定論的です。
    • tf.linalg.* において float16 dtype をサポート。
    • tf.estimator.Estimator.export_savedmodel に生テンソルをモデル関数に渡すことを可能にする tf.estimator.export.TensorServingInputReceiver を追加します。

 
以上

TensorFlow 1.6.0 リリースノート

TensorFlow 1.6.0 リリースノート(翻訳)

翻訳 : (株)クラスキャット セールスインフォメーション
日時 : 03/01/2018

* 本ページは、github TensorFlow の releases の TensorFlow 1.6.0 を翻訳したものです:

 

互換性に影響する変更

  • 事前ビルドされたバイナリは CUDA 9cuDNN 7 に対してビルドされています。
    (訳注 : 1.5 から変更はありません。)
  • 事前ビルドされたバイナリは AVX 命令を使用します。これはより古い CPU 上での TF を壊すかもしれません。
    (訳注: これは 1.5 のリリースノートで予告されていました。 )

 

主要な特徴と改良

  • non-slot variable のための新しい Optimizer 内部 API。_beta[12]_power にアクセスする AdamOptimizer の descendant は更新される必要があります。
  • tf.estimator.{FinalExporter,LatestExporter} は今では stripped SavedModel をエクスポートします。これは SavedModel の前方互換性を改善します。
  • FFT サポートが XLA CPU/GPU に追加されました。
  • Android TF は今では Tegra 互換デバイス上の CUDA アクセラレーションで構築可能です (更なる情報のためには contrib/makefile/README.md を見てください)。

 

バグ修正とその他の変更

  • ドキュメント更新:
    • Getting Started の2番目のバージョンを追加しました、これは ML の新人をターゲットにしています。
    • resize_images.align_corners パラメータについてのドキュメントの明確化。
    • TPU のための追加ドキュメント。
  • Google Cloud Storage (GCS):
    • クライアント側 throttle を追加。
    • GcsFileSystem のための実装とともに、FileSystem インターフェイスに FlushCaches() メソッドを追加。
  • その他:
    • tf.contrib.distributions.Kumaraswamy を追加。
    • RetryingFileSystem::FlushCaches() はベース FileSystem の FlushCaches() を呼び出します。
    • distributions に auto_correlation を追加。
    • tf.contrib.distributions.Autoregressive を追加。
    • SeparableConv1D 層を追加。
    • 畳み込み Flipout 層を追加。
    • tf.matmul の両者の入力が bfloat16 であるとき、それは float32 の代わりに、bfloat16 を返します。
    • tf.contrib.image.connected_components を追加。
    • atomic variable アクセスを許す tf.contrib.framework.CriticalSection を追加。
    • 分類タスクに対する木予測 (= trees predictions) に渡る出力分散 (= variance)。
    • pt と eval コマンドについて、テンソル値をファイルシステムに numpy ファイルとして書くことを可能にします。
    • gRPC: (gRPC 内部エラーを返す代わりに) 切断 (= truncated) エラーを伝播します。
    • prefetching の2種をサポートするために parallel_interleave を拡張。
    • C64-関連 ops log, pow, atan2, tanh に対する XLA サポートの改良。
    • 確率的畳み込み (= probabilistic convolutional) 層の追加。

 

API 変更

  • 後方互換正のためにデフォルト設定 False で prepare_variance boolean を導入。
  • ayers_dense_variational_impl.py を layers_dense_variational.py に移動。

 

既知のバグ

  • CUDA 9 か CUDA 9.1 と共に XLA:GPU を使用するとガベージ (= garbage) な結果そして/あるいは CUDA_ILLEGAL_ADDRESS 失敗という結果になります。

    Google は December 2017 中旬に CUDA 9 と CUDA 9.1 の PTX-to-SASS コンパイラが巨大なオフセット (e.g. load [x + large_constant]) を持つ 64-bit アドレス計算を SASS における 32-bit 計算に分解するときにキャリービットを時々正しく計算しないことを発見しました。

    結果的に、これらのバージョンの ptxas は 4GB 以上の一時メモリを使用する殆どの XLA プログラムをミスコンパイルします。これはガベージ結果 and/or CUDA_ERROR_ILLEGAL_ADDRESS 失敗という結果になります。

    February 2018 終盤の CUDA 9.1.121 における修正が期待されます。私達は CUDA 9.0.x のための修正は期待していません。修正が利用可能になるまでは、唯一のワークアラウンドは CUDA 8.0.x に ダウングレード するか XLA:GPU を無効にすることです。

    CUDA の既知の問題となるバージョンで XLA:GPU を使用する場合には TensorFlow は警告を出力します ; e00ba24 を見てください。

  • ある種のアップグレードのフローの後、tensorboard コマンドかモジュールが欠落しているように見えるかもしれません。これは TensorBoard パッケージ名を変更した結果として pip パッケージが矛盾を起こすためです。修正のためには TensorBoard 1.6.0 リリースノート を見てください。

 
以上

AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com