私はスタンフォードコースを通してTensorflowを使ってニューラルネットについて学んでいます。私はRNNを実装しながらこれを発見し、損失が蓄積されている理由をかなり理解していなかった:tensorflow.get_collection()のコレクションはクリアされていますか?
は# This adds a loss operation to the Graph for batch training
def add_loss_op(self, output):
all_ones = [tf.ones([self.config.batch_size * self.config.num_steps])]
cross_entropy = sequence_loss(
[output], [tf.reshape(self.labels_placeholder, [-1])], all_ones, len(self.vocab))
tf.add_to_collection('total_loss', cross_entropy)
# Doesn't this increase in size every batch of training?
loss = tf.add_n(tf.get_collection('total_loss'))
return loss
get_collection()
hereのドキュメントは、変数をクリアについては何も言及していません。これはすべての訓練ステップで実行されるので、喪失は訓練のエポック/ミニバイトごとに増分され、引き継がれますか?
私はまだNNに新しいので、私はこれについて何か誤解を修正してください!