Tensorflowエントリと実践的な研究ノート(8)-熱心なモード

目次

1はじめに:

2はじめに:

2.1 Eagerモードは学習とモデルのデバッグに便利です

2.2イーガーモードの動作特性

2.3 Eagerモードでの勾配の計算

3. Eagerモジュールのデモコード

4変数と自動微分演算の例

5カスタムトレーニング

注:テストデータは順不同である必要はありません

tf.keras.metrics要約計算モジュール


1はじめに:

ケラス提供のapi実装ニューラルネットワークを使用する方法を学びますが、自己定義された循環とカスタムトレーニングのための彼の優れたパッケージのため友好的ではありません。

Eageを使用でき、Eagerをリサイクルに使用できます

2はじめに:

TensorFlowの熱心なモードは、計算グラフを作成せずに操作の結果をすぐに評価できる必須のプログラミング環境です

熱心なグラフ操作モード:

簡単に言えば、図の演算子は、描画のすべてのステップに相当し、熱心に結果導くことができます

2.1 Eagerモードは学習とモデルのデバッグに便利です

Eagerモードは、TensorFlowを使用してモデルをデバッグすることを非常に容易にし、ネットワークデバッグ柔軟性と初心者にとってのtensorflowの使いやすさを向上させます。ここではテンソルフローのインタラクティブモードと呼ぶことができます

Eagerモードは、柔軟な研究と実験的な機械学習プラットフォームを 提供します。
  • 直感的なインターフェイスでコードを自然に作成し、Pythonデータ構造を使用します。
  • 小さなモデルと小さなデータをすばやく反復します。

インタラクティブな環境でデバッグを直接検査し、モデルを実行し、変更をテストするのが簡単になります。このプロセス中、コードはすぐにエラー報告します。

 

自然制御フローイーガーモードは、グラフ制御フローの代わりにPython制御フローを使用するため、動的モデルの作成が簡素化されます。

熱心な実行は、ほとんどのTensorFlowオペレーションとGPUアクセラレーションをサポートします。

2.2イーガーモードの動作特性

  • Eagerモードでは、TensorFlowオペレーションがすぐ実行され、その値Python 返されます(後の例を参照)。
  • tf.Tensorオブジェクト、計算グラフのノードのシンボルハンドルではなく特定の値を参照します(変更可能)。
  • Tensorflowは EagerモードのNumPyでうまく機能しますTensorFlow数学演算はPythonオブジェクトとNumPy配列を組み合わせることができます
  • tf.Tensorオブジェクトに変換されます。tf.Tensor.numpyメソッドは、オブジェクトの値をNumPy ndarray として返します

2.3 Eagerモードでの勾配の計算

Eagerモードでは、tf.GradientTapeを使用して勾配計算する操作追跡します

実行ごとに異なる操作が発生する可能性があるため、すべての順方向パス操作はTapeに記録されます。勾配を計算するために、テープは再生され、特定のtf.GradientTapeは1回の勾配計算のみを破棄します。その後の呼び出しでは、エラー(RuntimeError)が発行されてランタイムが発生します。再現可能なリコールを設定することもできます

3. Eagerモジュールのデモコード

 

 

  1. tf.multiply()  2つの行列の対応する要素を乗算します
  2. tf.matmul()は、行列aに行列bを乗算してa * bを生成します

4変数と自動微分演算の例

5カスタムトレーニング

 

訓練していないとき

トレーニングの後:

注:テストデータは順不同である必要はありません

 

tf.keras.metrics要約計算モジュール

平均m = tf.keras.metrics.Mean( 'acc')を見つけることができます

enumerate()関数は、走査可能なデータオブジェクト(リスト、タプル、文字列など)をインデックスシーケンスに結合し、データとデータ添え字を同時にリストするために使用されます。通常、forループで使用されます。

おすすめ

転載: blog.csdn.net/qq_37457202/article/details/107915518