gpt4 book ai didi

python - 我们如何在 Keras 中创建一个 block (可重用的函数集)?

转载 作者:行者123 更新时间:2023-11-28 22:13:09 25 4
gpt4 key购买 nike

我正在使用 Keras,具体来说,实际上是 tensorflow.keras,我想知道是否可以创建可重用的内置 Keras 层 block 。例如,我想在我的模型中的不同时间重复使用以下 block 。

conv1a = Conv3D(filters=32, strides=(1, 1, 1), kernel_size=(3, 3, 3), padding='same')(inputs)
bn1a = BatchNormalization()(conv1a)
relu1a = ReLU()(bn1a)
conv1b = Conv3D(filters=32, strides=(1, 1, 1), kernel_size=(3, 3, 3), padding='same')(relu1a)
bn1b = BatchNormalization()(conv1b)
relu1b = ReLU()(bn1b)

我读过 creating custom layers in Keras但我发现文档不够清晰。

如有任何帮助,我们将不胜感激。

最佳答案

你可以简单地将它放在一个函数中然后像这样使用:

relu1a = my_block(inputs)
relu1b = my_block(relu1a)

还可以考虑在函数的开头添加诸如 with K.name_scope('MyBlock'): 之类的内容,以便图表中也包含一些内容。

所以你会有这样的东西:

def my_block(inputs, block_name='MyBlock'):
with K.name_scope(block_name):
conv = Conv3D(filters=32, strides=(1, 1, 1), kernel_size=(3, 3, 3), padding='same')(inputs)
bn = BatchNormalization()(conv)
relu = ReLU()(bn)

return relu

如果您指定 block 名称:

relu1a = my_block(inputs, 'Block1')
relu1b = my_block(relu1a, 'Block2')

关于python - 我们如何在 Keras 中创建一个 block (可重用的函数集)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54197424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com