其他分享
首页 > 其他分享> > 如何为TensorFlow变量赋值?

如何为TensorFlow变量赋值?

作者:互联网

我试图在python中为tensorflow变量赋一个新值.

import tensorflow as tf
import numpy as np

x = tf.Variable(0)
init = tf.initialize_all_variables()
sess = tf.InteractiveSession()
sess.run(init)

print(x.eval())

x.assign(1)
print(x.eval())

但我得到的输出是

0
0

所以价值没有改变.我错过了什么?

解决方法:

语句x.assign(1)实际上并不将值1赋给x,而是创建一个必须显式运行以更新变量的tf.Operation.*可以使用对Operation.run()Session.run()的调用来运行操作:

assign_op = x.assign(1)
sess.run(assign_op)  # or `assign_op.op.run()`
print(x.eval())
# ==> 1

(*实际上,它返回一个tf.Tensor,对应于变量的更新值,以便更容易链接赋值.)

标签:python,tensorflow,variable-assignment,neural-network,deep-learning
来源: https://codeday.me/bug/20190916/1808567.html