gpt4 book ai didi

python - 如何为 TensorFlow 变量赋值?

转载 作者:IT老高 更新时间:2023-10-28 21:35:14 25 4
gpt4 key购买 nike

我正在尝试为 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

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

最佳答案

在 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,对应变量的更新值,方便链式赋值。)

然而,在 TF2 x.assign(1)现在将急切地分配值:

x.assign(1)
print(x.numpy())
# ==> 1

关于python - 如何为 TensorFlow 变量赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34220532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com