@tffunctionを使用したTensorflow2警告

Codey McCodeface

Tensorflow2のこのサンプルコード

writer = tf.summary.create_file_writer("/tmp/mylogs/tf_function")

@tf.function
def my_func(step):
  with writer.as_default():
    # other model code would go here
    tf.summary.scalar("my_metric", 0.5, step=step)

for step in range(100):
  my_func(step)
  writer.flush()

しかし、それは警告を投げています。

警告:tensorflow:トリガーされたtf.functionリトレースへの最後の5回の呼び出しのうち5回。トレースはコストがかかり、トレースの数が多すぎるのは、テンソルの代わりにpythonオブジェクトを渡すことが原因である可能性があります。また、tf.functionにはexperimental_relax_shapes = Trueオプションがあり、引数の形状を緩和して、不要な再トレースを回避できます。詳細については、https://www.tensorflow.org/beta/tutorials/eager/tf_function#python_or_tensor_argsおよびhttps://www.tensorflow.org/api_docs/python/tf/functionを参照してください。

これを行うためのより良い方法はありますか?

x x 0

tf.functionいくつかの「特異性」があります。この記事を読むことを強くお勧めします:https//www.tensorflow.org/tutorials/customization/performance

この場合、問題は、異なる入力シグネチャで呼び出すたびに、関数が「リトレース」される(つまり、新しいグラフが作成される)ことですテンソルの場合、入力シグネチャは形状とdtypeを参照しますが、Python番号の場合、すべての新しい値は「異なる」と解釈されます。この場合、step毎回変化する変数を使用して関数を呼び出すため、関数も毎回リトレースされます。これは、「実際の」コード(関数内でモデルを呼び出すなど)では非常に遅くなります。

stepテンソルに変換するだけで修正できます。その場合、異なる値は新しい入力署名としてカウントされません

for step in range(100):
    step = tf.convert_to_tensor(step, dtype=tf.int64)
    my_func(step)
    writer.flush()

またはtf.range、テンソルを直接取得するために使用します。

for step in tf.range(100):
    step = tf.cast(step, tf.int64)
    my_func(step)
    writer.flush()

これは警告を生成するべきではありません(そしてはるかに速くなります)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Tensorflow2のtf.data.Dataset.from_generatorを使用したkerasモデルの複数の入力

分類Dev

tensorflow2を使用したグラジエントペナルティ損失の実装

分類Dev

TensorFlow2を使用してMobileNetにドロップアウトを追加する

分類Dev

tensorflow2を使用してSavedModelで予測しようとしたときにエラーが発生しました

分類Dev

Tensorflow2でtf.kerasマージレイヤーを使用して「出力を計算できませんでした」エラー

分類Dev

モデルを保存しないtensorflow2のSagemaker

分類Dev

TensorFlow2でtf.train.GradientDescentOptimizerを置き換えるために使用できるもの

分類Dev

Tensorflow2でフリーズしたグラフ.pbファイルをエクスポートする

分類Dev

tensorflow2とkerasを使用してマルチGPUでモデルをトレーニングする方法は?

分類Dev

警告Tensorflow1コードをTensorflow2コードにアップグレード中

分類Dev

TensorRTとTensorflow2

分類Dev

TensorFlow2のConvLSTMCell

分類Dev

Tensorflow2でRNNを作成する

分類Dev

Kerasの場合-tensorflow2:ValueError:グラフが切断されました

分類Dev

Tensorflow2のKerasFunctionalAPIを使用するときに `training = true`を渡す

分類Dev

Tensorflow2でtrainable_variablesの重みを手動で設定します

分類Dev

Tensorflow1.5をTensorflow2に変換する

分類Dev

TensorFlow:GRUCellの重みをcompat.v1からtensorflow2に変換します

分類Dev

Tensorflow2はWindows10でbazelを使用してコンパイルされません-パッケージ名エラー

分類Dev

tensorflow2はsklearnaccuracy_scoreと矛盾して評価します

分類Dev

TensorFlow2での多くの疑似データ実現のために関数を最適化する

分類Dev

KerasモデルでトレーニングされたTensorflow2。*を.onnx形式に変換する方法は?

分類Dev

Tensorflow2にModelCheckpointを読み込んでいます

分類Dev

Tensorflow2文字列ラベルをone_hotに

分類Dev

`tf.nn.ctc_beam_search_decoder()`はTensorFlow2のGPUをサポートしていませんか?

分類Dev

TensorFlow2は同じバージョンをインストールし続けます

分類Dev

形状の不一致に関するTensorflow2の警告、まだトレーニング中

分類Dev

Eclipseを使用したTensorFlow

分類Dev

Dockerを使用したTensorFlow

Related 関連記事

  1. 1

    Tensorflow2のtf.data.Dataset.from_generatorを使用したkerasモデルの複数の入力

  2. 2

    tensorflow2を使用したグラジエントペナルティ損失の実装

  3. 3

    TensorFlow2を使用してMobileNetにドロップアウトを追加する

  4. 4

    tensorflow2を使用してSavedModelで予測しようとしたときにエラーが発生しました

  5. 5

    Tensorflow2でtf.kerasマージレイヤーを使用して「出力を計算できませんでした」エラー

  6. 6

    モデルを保存しないtensorflow2のSagemaker

  7. 7

    TensorFlow2でtf.train.GradientDescentOptimizerを置き換えるために使用できるもの

  8. 8

    Tensorflow2でフリーズしたグラフ.pbファイルをエクスポートする

  9. 9

    tensorflow2とkerasを使用してマルチGPUでモデルをトレーニングする方法は?

  10. 10

    警告Tensorflow1コードをTensorflow2コードにアップグレード中

  11. 11

    TensorRTとTensorflow2

  12. 12

    TensorFlow2のConvLSTMCell

  13. 13

    Tensorflow2でRNNを作成する

  14. 14

    Kerasの場合-tensorflow2:ValueError:グラフが切断されました

  15. 15

    Tensorflow2のKerasFunctionalAPIを使用するときに `training = true`を渡す

  16. 16

    Tensorflow2でtrainable_variablesの重みを手動で設定します

  17. 17

    Tensorflow1.5をTensorflow2に変換する

  18. 18

    TensorFlow:GRUCellの重みをcompat.v1からtensorflow2に変換します

  19. 19

    Tensorflow2はWindows10でbazelを使用してコンパイルされません-パッケージ名エラー

  20. 20

    tensorflow2はsklearnaccuracy_scoreと矛盾して評価します

  21. 21

    TensorFlow2での多くの疑似データ実現のために関数を最適化する

  22. 22

    KerasモデルでトレーニングされたTensorflow2。*を.onnx形式に変換する方法は?

  23. 23

    Tensorflow2にModelCheckpointを読み込んでいます

  24. 24

    Tensorflow2文字列ラベルをone_hotに

  25. 25

    `tf.nn.ctc_beam_search_decoder()`はTensorFlow2のGPUをサポートしていませんか?

  26. 26

    TensorFlow2は同じバージョンをインストールし続けます

  27. 27

    形状の不一致に関するTensorflow2の警告、まだトレーニング中

  28. 28

    Eclipseを使用したTensorFlow

  29. 29

    Dockerを使用したTensorFlow

ホットタグ

アーカイブ