首页 > 解决方案 > 我可以将 Conv2D 和 LeakyReLU 组合成一个层吗?

问题描述

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 是什么。有任何想法吗?

标签: pythontensorflowkerasneural-network

解决方案


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

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

推荐阅读