LeakyReLU
所有高级激活,包括LeakyReLU
,都可以作为图层使用 ,而不能作为激活使用;因此,您应该这样使用它:
from keras.layers import LeakyReLU
# instead of cnn_model.add(Activation('relu'))
# use
cnn_model.add(LeakyReLU(alpha=0.1))
0
LeakyReLU
所有高级激活,包括LeakyReLU
,都可以作为图层使用 ,而不能作为激活使用;因此,您应该这样使用它:
from keras.layers import LeakyReLU
# instead of cnn_model.add(Activation('relu'))
# use
cnn_model.add(LeakyReLU(alpha=0.1))
0
因此,在这里,Conv2D层的默认激活功能设置为“线性”。编写的内容是否正确:( 我现在要通过以下几行将Conv2D层的激活功能设置为LeakyRelu? )
model.add(Conv2D(32, kernel_size=(3, 3),
input_shape=(380,380,1))
model.add(LeakyReLU(alpha=0.01))
0
有时,您只想直接替换内置的激活层,而不必为此添加额外的激活层。
为此,可以使用activation
参数可以是可调用对象的事实。
lrelu = lambda x: tf.keras.activations.relu(x, alpha=0.1)
model.add(Conv2D(..., activation=lrelu, ...)
由于Layer
也是可调用对象,因此您也可以简单地使用
model.add(Conv2D(..., activation=tf.keras.layers.LeakyReLU(alpha=0.1), ...)
现在可以在TF2中使用。这是一个更好的解决方案,因为它避免了@ChristophorusReyhan提到的在加载过程中使用custom_object
的需要。
0
我正在尝试使用Keras生成CNN,并编写了以下代码:
我想使用Keras的LeakyReLU激活层,而不是使用
Activation('relu')
。但是,我尝试LeakyReLU(alpha=0.1)
使用LeakyReLU(alpha=0.1)
,但这是LeakyReLU(alpha=0.1)
中的激活层,并且在使用激活层而不是激活函数时遇到错误。在此示例中,如何使用LeakyReLU ?