使用Keras的'selu'激活功能时出错

问题描述 投票:1回答:1

我正在使用带有Tensorflow后端的Keras。当我尝试使用'selu'激活功能时:

model.add(Dense(32, input_shape=(input_length - 1,)))
model.add(Activation('selu'))

我得到的错误是:

ValueError: Unknown activation function:selu

这有什么解决方案吗?

python tensorflow neural-network keras
1个回答
8
投票

塞卢不在你的activations.py的keras(很可能因为它是2017年6月14日加入,只有22 days前)。您可以在missing code文件中添加activations.py,或在脚本中创建自己的selu激活。

示例代码

from keras.activations import elu

def selu(x):
    """Scaled Exponential Linear Unit. (Klambauer et al., 2017)
    # Arguments
        x: A tensor or variable to compute the activation function for.
    # References
        - [Self-Normalizing Neural Networks](https://arxiv.org/abs/1706.02515)
    """
    alpha = 1.6732632423543772848170429916717
    scale = 1.0507009873554804934193349852946
    return scale * elu(x, alpha)

model.add(Dense(32, input_shape=(input_length - 1,)), activation=selu)
© www.soinside.com 2019 - 2024. All rights reserved.