Tensorflow2.0中利用keras读取保存的模型时, 产生错误 [ValueError: Unknown activation function:relu6]

    科技2026-02-16  9

    在使用已经训练好的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

    Processed: 0.013, SQL: 9