首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有为任何变量提供渐变:[‘变量:0’,‘变量:0’]

没有为任何变量提供渐变:[‘变量:0’,‘变量:0’]
EN

Data Science用户
提问于 2020-07-05 05:40:25
回答 1查看 5.3K关注 0票数 3

我使用Python3.6和Tensorflow 2.0作为线性回归的以下代码:

代码语言:javascript
运行
复制
tx = tf.constant(x, dtype=tf.float32)
ty = tf.constant(y, dtype=tf.float32)
    
tw = tf.Variable(initial_value=np.random.randn(), dtype=tf.float32, trainable=True)
tb = tf.Variable(initial_value=0, dtype=tf.float32, trainable=True)
tyhat = tx * tw  + tb
    
cost = lambda: tf.reduce_mean(tf.square(tyhat-ty))
optimizer = tf.optimizers.SGD(0.01)
train = optimizer.minimize(cost, var_list = [tw,tb])

得到一个错误:没有为任何变量提供渐变:“变量:0”,“变量:0”

有什么帮助吗?

EN

回答 1

Data Science用户

发布于 2020-07-05 18:01:03

代码语言:javascript
运行
复制
tw = tf.Variable(initial_value=np.random.randn(), dtype=tf.float32, trainable=True)
tb = tf.Variable(initial_value=0, dtype=tf.float32, trainable=True)

cost =  lambda :tf.reduce_mean(tf.square(tx*tw+tb-ty))
optimizer = tf.keras.optimizers.SGD(0.01)
train = optimizer.minimize(cost, var_list = [tw,tb])

在成本函数中直接引用tw和tb而不是通过yhat。看起来不错。

票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/77151

复制
相关文章

相似问题

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