2017-06-02 52 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 

确实有帮助吗?