我试图运行一个AdamOptimizer进行一步训练,不成功.
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})
Run Code Online (Sandbox Code Playgroud)
在代码中,cost是一个明确定义的函数,使用两个参数X,Y(分别为NN和训练标签的条目)实现conv NN加上后勤丢失函数
当我运行它时,控制台告诉我运行返回None作为输出,这让我感到困惑,因为我预计它会给我返回成本.
我究竟做错了什么?
我认为不会有optimizer任何回报.optimizer.minimize(或train_op)将返回一个op,用于更新可训练的权重并增加全局步长.如果你想的损失(或成本)返回,则必须指定所以在sess.run([..., loss, ...], ...)
这就是您的代码可能如下所示:
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})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1336 次 |
| 最近记录: |