簡體   English   中英

在 Keras 中使用“selu”激活函數時出錯

[英]Error using 'selu' activation function with Keras

我正在使用帶有 Tensorflow 后端的 Keras。 當我嘗試使用“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 天前)。 您可以只在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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM