1. ホーム
  2. tensorflow

[解決済み] Tensorflowにおけるglobal_stepの意味とは?

2022-02-06 06:46:47

質問

この中に チュートリアルコード TensorFlowのウェブサイトから。

  1. とはどういう意味なのか、どなたか教えてください。 global_step とはどういう意味ですか?

    Tensorflowのウェブサイトには、次のように書かれていました。 グローバルステップは、トレーニングステップを数えるために使用されます。 が、具体的にどのような意味なのかよくわかりません。

  2. また、設定時の数字0は何を意味するのでしょうか? global_step ?

    def training(loss,learning_rate):
        tf.summary.scalar('loss',loss)
        optimizer = tf.train.GradientDescentOptimizer(learning_rate)
        
        # Why 0 as the first parameter of the global_step tf.Variable?
        global_step = tf.Variable(0, name='global_step',trainable=False)

        train_op = optimizer.minimize(loss, global_step=global_step)
    
        return train_op

Tensorflowのドキュメントによると global_step: 変数が更新された後、1つずつ増分する . それはつまり、1回更新した後に global_step が1になるのか?

どのように解決するのですか?

global_step は、グラフが見るバッチの数を指す。バッチが提供されるたびに、損失が最小になる方向に重みが更新される。 global_step は、これまでに見たバッチの数を記録しているだけである。これを minimize() の引数リストで、この変数が1つ増えます。を見てみましょう。 optimizer.minimize() .

を取得することができます。 global_step の値を使用します。 tf.train.global_step() . また、便利なユーティリティメソッドとして tf.train.get_global_step または tf.train.get_or_create_global_step .

0 は、このコンテキストでのグローバルステップの初期値です。