我正在使用 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 之前添加的)。您可以只添加 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)
注意:
包含 tensorflow 2.0 keras。您可以通过以下方式获得 selu 激活:
from tensorflow.keras.activations import selu
