在使用已经训练好的mobilenet时候,keras产生错误 [ValueError: Unknown activation function:relu6]
目前博主查到了两种解决办法:
1、查看在建立模型过程中,定义 relu6 激活函数时是否使用了 tf.keras.layers.Activation(tf.nn.relu6),如果有的话,将其更改为:(记住,是所有的,更换前可以按 ctrl + F 键搜索一下当前的代码中是否还有未替换的)
tf.keras.layers.ReLU(6.)
2、如果已经使用了tf.keras.layers.Activation(tf.nn.relu6) 训练好了模型 , 那么在使用时需要用如下方法导入模型:(即在导入时备注之)
model = tf.keras.models.load_model(filepath='my_mobilenet.h5',
custom_objects={'relu6': tf.keras.layers.ReLU(6.),'DepthwiseConv2D':tf.keras.layers.DepthwiseConv2D})
其他版本的keras可参考:
https://blog.csdn.net/Will_Ye/article/details/106554196