2017-06-02 42 views
3

如何在最新版本的keras中使用泄漏ReLUs? 函數relu()接受一個可選參數'alpha',它負責負斜率,但我無法弄清楚在構建圖層時如何傳遞參數。Keras - 使用帶參數的激活功能

這行是我如何試圖做到這一點,

model.add(Activation(relu(alpha=0.1)) 

但後來我得到的錯誤

TypeError: relu() missing 1 required positional argument: 'x' 

如何使用漏水RELU,或任何其他激活函數與一些參數?

回答

1

relu是一個函數而不是一個類,它將激活函數的輸入作爲參數x。激活層取一個函數作爲參數,所以你可以通過輸入x與lambda函數初始化它例如:

model.add(Activation(lambda x: relu(x, alpha=0.1))) 
0

好,從這個來源(keras doc),並且該github question,可以使用一個線性激活然後你把泄漏的relu作爲另一層。

from keras.layers.advanced_activations import LeakyReLU 

model.add(Dense(512, 512, activation='linear')) # Add any layer, with the default of an identity/linear squashing function (no squashing) 
model.add(LeakyReLU(alpha=.001)) # add an advanced activation 

確實有幫助嗎?