module 'tensorflow.compat.v1.initializers' has no attribute 'GlorotUniform'这是什么情况
时间: 2023-07-21 19:10:01 浏览: 102
轻松允许您的Node程序在目标节点版本范围内运行,以最大程度地实现兼容性。-Node.js开发
我很抱歉,我犯了一个错误。在TensorFlow的最新版本中,`tf.initializers.GlorotUniform`被移除了。相反,你可以使用`tf.keras.initializers.GlorotUniform`来实现相同的功能。请参考以下修改后的代码:
```python
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
from tensorflow.keras import initializers
def initialize_parameters():
tf.set_random_seed(1)
initializer = 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]))
```
这段代码中使用了`tf.keras.initializers.GlorotUniform`来替代`tf.initializers.GlorotUniform`,以适应最新的TensorFlow版本。请尝试运行这段代码,看看是否能够正常执行。
阅读全文