如何为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