问题描述:
File "/data/Code/resnet.py", line 23, in <module>
initializer=tf.contrib.layers.xavier_initializer_conv2d()
AttributeError: module 'tensorflow' has no attribute 'contrib'
问题分析:
这个错误是因为代码中使用了 TensorFlow 1.x 的风格,而在 TensorFlow 2.x 中,tf.contrib 命名空间被移除。需要调整代码以适应 TensorFlow 2.x。
在 TensorFlow 2.x 中,很多功能已经被整合到 tf.keras 和其他模块中。
关于这个问题,Xavier 初始化器在 tf.keras.initializers.GlorotNormal 或 tf.keras.initializers.GlorotUniform 中可以找到对应的替代品。
解决方法:
#initializer=tf.contrib.layers.xavier_initializer_conv2d()initializer = tf.keras.initializers.GlorotNormal()