init = tf.global_variables_initializer()
时间: 2023-04-21 21:06:42 浏览: 109
init = tf.global_variables_initializer() 是 TensorFlow 中的一个函数,用于初始化所有的全局变量。它会返回一个操作(operation),可以在会话(session)中运行,以便对所有变量进行初始化。
相关问题
init = tf.global_variables_initializer()是什么意思?
init = tf.global_variables_initializer()是TensorFlow中用于初始化全局变量的函数。当我们定义了一个变量后,在使用它之前需要对它进行初始化,否则可能会导致计算错误。tf.global_variables_initializer()可以一次性地初始化所有的全局变量。
ef initialize_parameters(): tf.set_random_seed(1) W1 = tf.get_variable("W1", shape=[4, 4, 3, 8], initializer=tf.contrib.layers.xavier_initializer(seed=0)) W2 = tf.get_variable("W2", shape=[2, 2, 8, 16], initializer=tf.contrib.layers.xavier_initializer(seed=0)) parameters = {"W1": W1, "W2": W2} return parameters tf.reset_default_graph() with tf.Session() as sess_test: parameters = initialize_parameters() init = tf.global_variables_initializer() sess_test.run(init) print("W1 = " + str(parameters["W1"].eval()[1,1,1])) print("W2 = " + str(parameters["W2"].eval()[1,1,1])) 请根据现在python版本纠正这段代码
根据最新的Python版本,你需要进行以下修改:
```python
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
def initialize_parameters():
tf.set_random_seed(1)
initializer = tf.initializers.GlorotUniform(seed=0)
W1 = tf.get_variable("W1", shape=[4, 4, 3, 8], initializer=initializer)
W2 = tf.get_variable("W2", shape=[2, 2, 8, 16], initializer=initializer)
parameters = {"W1": W1, "W2": W2}
return parameters
tf.reset_default_graph()
with tf.Session() as sess_test:
parameters = initialize_parameters()
init = tf.global_variables_initializer()
sess_test.run(init)
print("W1 = " + str(parameters["W1"].eval()[1, 1, 1]))
print("W2 = " + str(parameters["W2"].eval()[1, 1, 1]))
```
这段代码使用了最新的TensorFlow版本,并且使用了`tf.initializers.GlorotUniform`进行参数初始化。