0
在TF1中,该语句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,对应变量的更新值,使赋值更容易。 但是,x.assign(1)在TF2中会急切地分配值:
x.assign(1)
print(x.numpy())
# ==> 1
收藏