在 Keras 中连接之前调整卷积层的大小
Posted
技术标签:
【中文标题】在 Keras 中连接之前调整卷积层的大小【英文标题】:Resizing a convolution layer before concatenating in Keras 【发布时间】:2018-07-30 12:53:43 【问题描述】:我正在阅读 U-Net: Convolutional Networks for Biomedical Image Segmentation 并希望在 Keras 中实现它。
在 U-Net 中,我需要连接卷积层,一个在收缩路径中,另一个在扩展路径中(论文中的图 1.1)。
但是,它们的大小不匹配,所以我必须在连接之前调整卷积层的输出大小。
我如何在 Keras 中做到这一点?
【问题讨论】:
【参考方案1】:Keras 中有一个 Cropping2D 层:https://keras.io/layers/convolutional/#cropping2d
...
conv_13 = Conv2D(64, (3, 3), padding='same', activation='relu')(conv_12) # has outputsize of 568x568
...
crop_13 = Cropping2D((392, 392))(conv_13) # crop 568x568 to 392x392 symmetrically
merge_91 = Concatenate()([crop_13, upsampled_81) # concatenate both layers with same 2D size
...
将第一个尺寸 (568x568) 连接到最后一个上采样尺寸 (392x392) 的示例。
【讨论】:
以上是关于在 Keras 中连接之前调整卷积层的大小的主要内容,如果未能解决你的问题,请参考以下文章