machine-learning - 更改 Tensorflow 中的变量值并评估成本函数

标签 machine-learning tensorflow deep-learning theano

我需要能够绘制例如成本函数值作为某些参数的函数(例如下面的偏差 b)。如果例如我的图表类似于(伪代码)

y = g(W x + b),
cost = sum(y ** 2),

其中 Wbtf.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/

相关文章:

machine-learning - 机器学习中训练数据的标记可能不是 100% 准确

python - 使用 TensorFlow 2.x 版本从头开始进行 BERT 预训练

python - 如何将 keras(h5) 文件转换为 tflite 文件?

python - 在 scikit learn 中实现自定义损失函数

Python 切片表示法

tensorflow - 评估 tensorflow 中向量 y 的每个元素的条件

python - 使用自动编码器重建潜在空间

python - 在推理时删除 Keras 模型中的辅助分支

python - 估计器 : What to use for placeholder in an accuracy prediction?

java - 在 Java 中打印 JavaPairRDD<Double, Double> 的值