我需要能够绘制例如成本函数值作为某些参数的函数(例如下面的偏差 b
)。如果例如我的图表类似于(伪代码)
y = g(W x + b),
cost = sum(y ** 2),
其中 W
和 b
是 tf.Variables
,我想更改 b
,比如说从 0 到 1 并绘制 cost
的值。
请注意,由于开销,我不想在每次更改 b
后调用 eval 或 session.run! 100 个情节需要很长时间。
- 我知道
tf.assign
的存在,但执行诸如 [分配、成本、分配、成本...] 之类的操作并进行评估似乎不起作用 - 我想我可以在每次更新后更新图表内的
b
值和调用成本,但我真的不想更改图表
那么我怎样才能有效地做到这一点呢?预先感谢您!
编辑:实际上,如果不在迭代之间调用 eval/run ,这可能是不可能完成的......哦,好吧......
最佳答案
在 tensorflow 中,如果您使用变量,则只能在初始化后评估它们。因此,如果没有 session ,您可能无法评估它们。 但您可以像下面这样更改参数
import tensorflow as tf
my_var = tf.Variable(10)
with tf.Session() as sess:
sess.run(my_var.initializer)
print(sess.run(my_var.assign_sub(2))) #>> 8
print(sess.run(my_var.assign_sub(2))) #>> 6
关于machine-learning - 更改 Tensorflow 中的变量值并评估成本函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43249643/