2017-11-01 7 views
1

私は、訓練の一歩のためにAdamOptimizerを実行しようとしていますが、うまくいきません。Optimizer returnedなし

コードで
optimizer = tf.train.AdamOptimizer(learning_rate).minimize(cost) 
init = tf.global_variables_initializer() 

with tf.Session() as sess: 
    sess.run(init) 
    _, cost_value = sess.run(optimizer, feed_dict={X:X_data, Y: Y_data}) 

、コストは2つのパラメータXを使用して、CONV NNプラスロジスティック損失関数を実装する明確に定義された関数であり、Y(それぞれNNトレーニングラベルのエントリ)

場合私はこれを実行すると、コンソールは、実行は、出力として私はそれが私にコストを返すことを期待して以来、私は困惑を残して、なしを返すと私に通知しています。

私は間違っていますか?

答えて

3

optimizerは何も返さないと思います。 optimizer.minimize(またはtrain_op)は、opを返します。これは、訓練可能な重みを更新し、グローバルステップを増やすために使用されます。

optimizer = tf.train.AdamOptimizer(learning_rate).minimize(cost) 
init = tf.global_variables_initializer() 

with tf.Session() as sess: 
    sess.run(init) 
    _, cost_value = sess.run([optimizer, cost], feed_dict={X:X_data, Y: Y_data}) 
:あなたがしたい場合は、 損失(または費用)は、あなたが specifyがそう sess.run([..., loss, ...], ...)

にこれはあなたのコードは次のように見えるかもしれないものである必要があり、返さ