gpt4 book ai didi

python - 什么时候必须初始化 Tensorflow 中的变量?

转载 作者:太空宇宙 更新时间:2023-11-03 16:13:53 28 4
gpt4 key购买 nike

我试图理解 tensorflow 以及如何理解它必须首先创建操作和变量将它们添加到图中,然后在 session 中执行这些操作。那为什么在这段代码中我不必使用initialize_all_variables()方法呢?我试图添加 init = tf.initialize_all_variables() 然后添加 sess.run(init) 但这是错误的。为什么没有初始化就可以工作?

import tensorflow as tf 
import numpy as np
x = tf.placeholder('float', [2,3])
y = x*2
z = tf.Variable([[1,1,1],[1,1,1]], name = "z")
with tf.Session() as sess:
x_data = np.arange(1,7).reshape((2,3))
z.assign(x_data)
res = sess.run(y, feed_dict = {x:x_data})
print(res.dtype, z.dtype, z.get_shape())`

最佳答案

不允许您读取未初始化的值。在上面的情况下,您没有读取 z 因此您不需要初始化它。

如果您查看variables.py,您会发现initialize_all_variables是一个连接到所有初始值设定项的组节点

def initialize_variables(var_list, name="init"):
...

return control_flow_ops.group(
*[v.initializer for v in var_list], name=name)

查看z.initializer,您可以看到它是一个Assign 节点。因此,在 TensorFlow 中评估 tf.initialize_all_variables 与在 z.assign(...

上执行 session.run 相同

关于python - 什么时候必须初始化 Tensorflow 中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39069130/

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