【问题标题】:ValueError: Unknown activation function:swish_activationValueError:未知激活函数:swish_activation
【发布时间】:2020-02-18 09:59:06
【问题描述】:

我正在尝试使用 keras load_model() 加载保存权重。

from keras.models import load_model

model=load_model("weights.hdf5")

这是我遇到的错误。

ValueError                                Traceback (most recent call last)
<ipython-input-34-52d6983dfc34> in <module>()
      1 from keras.models import load_model
----> 2 model=load_model("weights.hdf5")

14 frames
/usr/local/lib/python3.6/dist-packages/keras/utils/generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name)
    165             if fn is None:
    166                 raise ValueError('Unknown ' + printable_module_name +
--> 167                                  ':' + function_name)
    168         return fn
    169     else:

ValueError: Unknown activation function:swish_activation

【问题讨论】:

    标签: python tensorflow keras activation-function


    【解决方案1】:

    Keras 默认不提供Swish 激活。相反,添加这个:

    from keras.utils.generic_utils import get_custom_objects
    from keras import backend as K
    from keras.layers import Activation
    
    def swish_activation(x):
            return (K.sigmoid(x) * x)
    
    get_custom_objects().update({'swish_activation': Activation(swish_activation)})
    

    【讨论】:

      【解决方案2】:
      # model use some custom objects, so before loading saved model
      # import module your network was build with
      # e.g. import efficientnet.keras / import efficientnet.tfkeras
      import efficientnet.tfkeras
      from tensorflow.keras.models import load_model
      model = load_model('path/to/model.h5')
      

      【讨论】:

        猜你喜欢
        • 2019-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-08
        • 2021-05-14
        相关资源
        最近更新 更多