tensorflow
2017-06-26 8 views 1 likes 
1

私はTensorboardを使用してグラフを取得する方法を知っていますが、トレーニングプロセス中に "train_op"を省略することでテストの損失価値を得ることができるかどうか不思議です。また、 "train_op"を削除するだけで、他のデータセットの価値を得ることができれば幸いです。テンソルフローのパラメータを更新せずにセッションを実行するにはどうすればよいですか?

loss = tf.reduce_mean(tf.square(y_ - y), name='square_mean') 
train_op = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss) 

# this is for training, and I put train_op inside. 
for _ in xrange(step): 
    _, loss_value = sess.run([train_op, loss], feed_dict={x: batch_x, y_:np.transpose([batch_y])}) 

    # just feed the data and get one loss value in some epochs 
    loss_test = sess.run(loss, feed_dict={x: testing_batch, y_: np.transpose([label_t_batch])}) 

答えて

1

train_opは、他のすべてのノードと同じように(多かれ少なかれ)完全に細かいものです。それを放置すると、それが実行されません。つまり、グラデーションの降下は起こりません。

あなたの2番目の質問は、あなたが話している他のデータセットのデータフォーマットがグラフの入力フォーマットに合っていれば問題ありません。

関連する問題