【问题标题】:Can I combine Conv2D and LeakyReLU into a single layer?我可以将 Conv2D 和 LeakyReLU 组合成一个层吗?
【发布时间】:2021-01-07 08:59:41
【问题描述】:

keras Conv2D 层本身没有激活函数。我目前正在重建 YOLOv1 模型进行练习。在 YOLOv1 模型中,有几个 Conv2D 层,然后使用leaky relu 函数进行激活。有没有办法结合

from keras.layers import Conv2D, LeakyReLU

...

def model(input):
    ...

    X = Conv2D(filters, kernel_size)(X)
    X = LeakyReLU(X)

    ...

写成一行代码,比如X = conv_with_leaky_relu(X)?我认为它应该类似于

def conv_with_leaky_relu(*args, **kwargs):
    X = Conv2D(*args, **kwargs)(X)
    X = LeakyReLU(X)
    return X

但这当然行不通,因为 X ist 是未定义的。有什么想法吗?

【问题讨论】:

    标签: python tensorflow keras neural-network


    【解决方案1】:

    您可以将其作为激活传递:

    X = Conv2D(filters, kernel_size, activation=LeakyReLU())(X)
    

    【讨论】:

    • 不知道,只是查看了已实现的激活列表,并且泄漏的 relu 似乎不在该列表中。抱歉这个愚蠢的问题,谢谢你的回答:)
    • @sampleuser - 除了字符串之外,您还可以将可调用对象传递给activation
    猜你喜欢
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 2023-01-25
    • 2015-04-18
    • 2015-02-08
    • 1970-01-01
    相关资源
    最近更新 更多