【发布时间】:2018-04-19 10:38:40
【问题描述】:
我有一个使用 TensorFlow 训练的神经网络。实际上,在每次迭代中,我都可以计算传递给优化器的训练成本。我的实现的伪代码是:
def defineNetworkStructure(): # layers
...
def feedForward():
...
def defineCost():
...
def defineOptimizer():
opt = ...
def train(train_X, train_Z, ...):
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for i in range(N):
_, ith_cost = sess.run([opt, cost], feed_dict={X:train_X, Y:train_Y})
print("Cost at {} is {}".format(i, ith_cost))
现在,在循环中,我想插入如下内容:
ith_cost = sess.run([opt, cost], feed_dict={X:test_X, Y:test_Y})
注意: test_X 和 test_Y 而不是 train_X 和 train_Y。
但是,如果我这样做,我会修改 tensorflow 变量 cost 的值,因此(但我不确定)我会影响优化过程。
在 tensorflow 中实现此任务的最佳方法是什么?
【问题讨论】:
-
只要您不运行任何优化操作(例如
opt)并且您的cost操作不包含任何内容,插入验证行应该没有问题。跨度>
标签: python-3.x tensorflow