AttributeError: module 'tensorflow.compat.v1.random' has no attribute 'truncated_normal_initializer'
时间: 2023-10-24 22:05:23 浏览: 171
问题解决:module 'tensorflow.compat.v1' has no attribute '
5星 · 资源好评率100%
在您提供的引用中,出现了不同版本的TensorFlow之间的兼容性问题。在TensorFlow 2.x版本中,不再包含`tf.contrib`组件,因此您无法使用其中的函数和初始化器。这就是为什么您遇到了`AttributeError`的错误。
对于您提到的报错代码行`initializer=tf.contrib.layers.xavier_initializer()`,可以将其替换为`initializer=tf.truncated_normal_initializer()`来解决问题。`tf.truncated_normal_initializer()`是一个TensorFlow的标准初始化器,可以用来代替`tf.contrib.layers.xavier_initializer()`。
至于您提到的`AttributeError: module 'tensorflow.compat.v1.random' has no attribute 'truncated_normal_initializer'`,原因是在TensorFlow 2.x中,`truncated_normal_initializer()`函数被移动到了`tensorflow`模块下的`random`子模块中,所以您需要将代码修改为`initializer=tf.random.truncated_normal_initializer()`。
阅读全文