2016-08-06 8 views
0

私はテンソルフローが初めてで、グラフの最適化ノードを呼び出さないとテストセットを訓練していないことを明確にしたかっただけです。私はここでテストセットに訓練していないことを確認

ここにオプティマイザノードがあります。

opt = tf.train.GradientDescentOptimizer(learning_rate = learning_rate) 
opt_operation = opt.minimize(mse) 

これは私のトレーニングステップです。角括弧内のノードだけが計算されていることを明確にしたいと思います。 opt_operationが呼び出されているため、モデル内でウェイトが更新されていますか?

_,yPred_,loss, score = sess.run([opt_operation,yPred,mse,diceScore], 
           feed_dict={x:batchX,y_:batchY,learning_rate:lr}) 

は、最後にここにopt_operationを呼び出すことはありません。私のテスト段階です。

loss,score = sess.run([mse,diceScore], 
         feed_dict={x:batchX,y_:batchY}) 

この最終的なsess.runステップのトレーニングは正しくありませんか?

答えて

1

はい、正しく入力してください。 トレーニングステップは、opt_operationが実行されたときにのみ実行されます。

あなたの最後のステップ:

loss,score = sess.run([mse,diceScore], 
        feed_dict={x:batchX,y_:batchY}) 

のみmsediceScoreテンソルを評価:なし最適化は行われません。

関連する問題