如何解决如何从零开始在Keras中实现Leaky ReLU?
如何从头开始实现Leaky ReLU并将其用作Keras中的自定义函数,我的代码段很粗糙,但是不确定我与正确的定义有多接近。我的问题分为两个部分:
1- 我的实现正确吗?
2- 如果不是,我在做什么错了?
该实现正在使用:
from keras import backend as K
from keras.layers import Conv3D
def leaky_relu(x):
alpha = 0.1
return K.maximum(alpha*x,x)
和用法:
x = Conv3D(64,kernel_size=(3,3,3),activation=leaky_relu,padding='same',name='3D_conv')(x)
任何帮助将不胜感激。
解决方法
是的,这是正确的。我对该函数做了一些修改,以使其更可重用:
def LeakyReLU(alpha = 1):
return lambda x : tf.keras.backend.maximum(alpha * x,x)
通过这种方式,您可以使用不同的alpha值调用激活:
x = Conv3D(64,kernel_size=(3,3,3),activation=LeakyReLU(0.1),padding='same',name='3D_conv')(x)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。