首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tensorflow中变量值的变化及成本函数的评估

Tensorflow中变量值的变化及成本函数的评估
EN

Stack Overflow用户
提问于 2017-04-06 08:23:27
回答 2查看 684关注 0票数 2

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

代码语言:javascript
复制
y = g(W x + b),
cost = sum(y ** 2),

如果Wbtf.Variables,我想将b从0更改为1,并绘制cost的值。

请注意,在b 的每次更改之后,我不想调用或sesssion.run,因为开销!,例如,100个地块点,这将花费很长的时间。

  • 我知道tf.assign的存在,但是做一些像分配,成本,分配,成本,.对此进行评估似乎不管用
  • 我想我可以在每次更新后更新图中b的值和调用成本,但是我并不想真正地更改这个图

那么,我如何能以有效的方式做到这一点呢?提前谢谢你!

编辑:实际上,如果没有在迭代之间调用eval/run,这可能是不可能的.哦好吧..。

EN

回答 2

Stack Overflow用户

发布于 2017-04-06 14:36:39

在张量流中,如果使用变量,则只能在初始化后才能计算它们。因此,您可能无法在没有会话的情况下对它们进行评估。但是,您可以更改参数,如下所示

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2017-04-08 05:22:36

这听起来像是在每个步骤中为提供不同值的用例。假设b是一个标量变量,您可以使用如下代码编写循环代码:

代码语言:javascript
复制
import numpy as np

sess = tf.Session()

# Vary `b_val` from 0 to 1 in 100 steps.
for b_val in np.linspace(0, 1, 100):

  # Evaluate `cost` using `b = b_val`.
  cost_val = sess.run(cost, feed_dict={b: b_val})

  # Do something with `cost_val`....
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43249643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档