美文网首页
keras加载包含自定义层的模型

keras加载包含自定义层的模型

作者: st1an | 来源:发表于2019-04-23 11:01 被阅读0次

    keras load_model在加载包含自定义层时会出现unknown layer的错误

    解决方法:

    1.在自定义层的定义文件YourLayer.py中添加如下代码:

    def create_custom_objects():

        instance_holder = {"instance": None}

        class ClassWrapper(YourLayerName):

            def __init__(self, *args, **kwargs):

                instance_holder["instance"] = self

                super(ClassWrapper, self).__init__(*args, **kwargs)

        return {"ClassWrapper": ClassWrapper ,"YourLayerName": ClassWrapper}

    2.然后加载模型

    from YourLayer import create_custom_objects

    model = keras.models.load_model(model_path, custom_objects=create_custom_objects())

    参阅链接

    python - Not able to load keras trained model - Stack Overflow

    相关文章

      网友评论

          本文标题:keras加载包含自定义层的模型

          本文链接:https://www.haomeiwen.com/subject/cngmgqtx.html