我正在将Keras与Tensorflow后端一起使用。当我尝试通过以下方式使用“ selu”激活功能时:

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


我得到的错误是:

ValueError: Unknown activation function:selu


有什么解决办法吗?

最佳答案

Selu不在您的keras的activations.py中(很可能是因为它是在2017年6月14日添加的,仅在22 days之前)。您可以只在activations.py文件中添加missing code或在脚本中创建自己的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)

关于python - 在Keras中使用'selu'激活功能时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44943323/

10-10 11:54