原因是TensorFlow 2.x之后把contrib这个库取消了,contrib的内容可以集成到下面三个包中
tf.keras.layers.Layer
tf.keras.Model
tf.Module
发现L2正则化存在于tf.keras里面,于是如下操作更改
我出错的代码是
regularizer = tf.contrib.layers.l2_regularizer(scale = 1e-10)
initializer = tf.contrib.layers.xavier_initializer()
更改为下面这两行就可以了
regularizer = tf.keras.regularizers.l2(1e-10)
initializer = tf.keras.initializers.glorot_normal()
代码就可以运行了