gpt4 book ai didi

python - 实际需要 global_variables_initializer() 时

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

import tensorflow as tf
x = tf.constant(35, name='x')
y = tf.Variable(x + 5, name='y')
# model = tf.global_variables_initializer()
with tf.Session() as session:
print("x = ", session.run(x))
# session.run(model)
print("y = ", session.run(y))

我无法理解何时真正需要 global_variables_initializer()。在上面的代码中,如果我们取消注释第 4 行和第 7 行,我可以执行代码并查看值。如果我按原样运行,我会看到崩溃。

我的问题是它正在初始化哪些变量。 x 是一个不需要初始化的常量,y 是一个没有被初始化但用作算术运算的变量。

最佳答案

tf.global_variables_initializer是初始化所有全局变量的快捷方式。这不是必需的,您可以使用其他方式来初始化变量,或者在简单脚本的情况下,有时您根本不需要初始化它们。

除了变量之外的所有东西都不需要初始化(常量和占位符)。但是每个使用过的变量(即使它是一个常量)都应该被初始化。这会给你一个错误,虽然 z 只是 0-d 张量,只有一个数字。

import tensorflow as tf
z = tf.Variable(4)
with tf.Session() as session:
print(session.run(z))

我突出显示了使用的词,因为如果您只有未运行的变量(或没有运行依赖于它们),则不需要初始化它们。


例如,这段代码将毫无问题地执行,但它有 2 个变量和一个依赖于它们的操作。但运行不需要它们。

import tensorflow as tf
x = tf.constant(35, name='x')
y = tf.Variable(x + 5, name='y')
z = tf.Variable(4)
a = y + z
with tf.Session() as session:
print("x = ", session.run(x))

关于python - 实际需要 global_variables_initializer() 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44299666/

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