keras读书笔记——卷积层、池化层、局部连接层

本文详细介绍了Keras中卷积层的各类操作,包括Convolution1D、AtrousConvolution1D、SeparableConvolution2D等,以及池化层如MaxPooling和AveragePooling,还有局部连接层LocallyConnected1D和2D。这些内容涵盖了1D到3D的卷积和池化操作,对于理解和应用深度学习模型十分有用。
摘要由CSDN通过智能技术生成

1 卷积层

1.1 Convolution1D层

1.2 AtrousConvolution1D层

1.3 Convolution2D层

1.4 AtrousConvoltuion2D层

1.5 SeparableConvolution2D层

1.6 Deconvolution3D层

1.7 Convolution3D层

1.8 Cropping1D层

1.9 Cropping2D层

1.10 Crooping3D层

1.11 UpSamling1D层

1.12 UpSampling2D层 UpSampling3D层

1.13 Zero Padding1D层

1.14 ZeroPadding2D层 ZeroPadding3D层

2 池化层

2.1 MaxPooling1D层

2.2 Max Pooling2D层 MaxPooling3D层

2.3 AveragePooling1D层 AveragePooling2D层 AveragePooling3D层

2.4 GlobalMaxPooling1D层 GlobalMaxPooling2D层

2.5 GlobalAveragePooling1D层 GlobalAveragePooling2D层

3 局部连接层

3.1 LocallyConnected1D层

3.2 LocallyConnected2D层

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在将CBAM添加到UNet中,通常可以将CBAM应用于UNet的编码器和解码器部分的每个卷积层之后。以下是一种常见的CBAM与卷积层池化层的位置分布示例: ```python import tensorflow as tf from keras.models import Model from keras.layers import Input, Conv2D, MaxPooling2D, concatenate, Activation def cbam_block(inputs, reduction_ratio=16): # Channel attention channels = inputs.shape[-1] avg_pool = tf.reduce_mean(inputs, axis=[1, 2], keepdims=True) fc1 = Conv2D(channels // reduction_ratio, kernel_size=(1, 1))(avg_pool) fc1 = Activation('relu')(fc1) fc2 = Conv2D(channels, kernel_size=(1, 1))(fc1) channel_attention = tf.sigmoid(fc2) * inputs # Spatial attention max_pool = tf.reduce_max(inputs, axis=3, keepdims=True) conv = Conv2D(1, kernel_size=(7, 7), padding='same')(max_pool) spatial_attention = tf.sigmoid(conv) * inputs # Combine channel and spatial attention outputs = tf.add(channel_attention, spatial_attention) return outputs def unet_cbam(input_shape): inputs = Input(input_shape) # Encoder conv1 = Conv2D(64, 3, activation='relu', padding='same')(inputs) conv1 = Conv2D(64, 3, activation='relu', padding='same')(conv1) conv1 = cbam_block(conv1) # CBAM block added pool1 = MaxPooling2D(pool_size=(2, 2))(conv1) # Decoder conv2 = Conv2D(128, 3, activation='relu', padding='same')(pool1) conv2 = Conv2D(128, 3, activation='relu', padding='same')(conv2) conv2 = cbam_block(conv2) # CBAM block added pool2 = MaxPooling2D(pool_size=(2, 2))(conv2) # Add more encoder and decoder layers with CBAM block # Output outputs = Conv2D(num_classes, 1, activation='softmax')(pool2) model = Model(inputs=inputs, outputs=outputs) return model ``` 在这个示例中,CBAM块被插入到了每个卷积层之后,以增强模型的注意力机制。你可以根据需要添加更多的编码器和解码器,并在每之后应用CBAM块。这里的示例代码仅供参考,你可以根据自己的具体需求进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值