layer output 激活函数_keras 定义激活函数及layer

自定义激活函数通过定义个操作 Tensor 的函数,然后将其添加到 keras 系统中即可。from keras.utils.generic_utils import get_custom_objectsdef binary(x):# 注: tf.greater 函数没有 gradient 函数,因此在运行时候会报错# ValueError: An operation has `None` for...
摘要由CSDN通过智能技术生成

自定义激活函数

通过定义个操作 Tensor 的函数,然后将其添加到 keras 系统中即可。

from keras.utils.generic_utils import get_custom_objects

def binary(x):

# 注: tf.greater 函数没有 gradient 函数,因此在运行时候会报错

# ValueError: An operation has `None` for gradient. Please make sure that all of your ops have a gradient

# defined (i.e. are differentiable). Common ops without gradient: K.argmax, K.round, K.eval.

return K.cast(tf.greater(x, 0), tf.uint8)

# custom activation function

get_custom_objects().update({'binary': Activation(binary)})

自定义层

在 keras 层中除去输入层以外,不能使用没有定义 gradient 函数的函数,否则会报错。

因此如下层只能做 Input 层使用:

class MaskLayer(Layer):

"""

输入与输出维度一致

输出为 0/1

"""

def __init__(self, **kwargs):

self.weight_m = None

super(MaskLayer, self).__init__(**kwa

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值