Keras--卷积层

关于卷积层,包括:

Conv1D, Conv2D, SeparableConv2D, Conv2DTranspose, Conv3D, Cropping1D, Cropping2D, Cropping3D, UpSampling1D, UpSampling2D, UpSampleing3D, ZeroPadding1D, ZeroPadding2D, ZeroPadding3D.


所用的数~
1D一整数
2D二整数
3D三整数


Conv1D,
时序卷积

keras.layers.Conv1D(filters, kernel_size, strides=1, padding='valid', dilation_rate=1, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)

当使用该层作为模型第一层时,需要提供 input_shape 参数(整数元组或 None),例如, (10, 128) 表示 10 个 128 维的向量组成的向量序列, (None, 128) 表示 128 维的向量组成的变长序列。
输入尺寸:
3D 张量 ,尺寸为 (batch_size, steps, input_dim)。

输出尺寸:
3D 张量,尺寸为 (batch_size, new_steps, filters)。 由于填充或窗口按步长滑动,steps 值可能已更改。


Conv2D,
2D 卷积层 (例如对图像的空间卷积)。

keras.layers.Conv2D(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)

SeparableConv2D,
深度方向的可分离 2D 卷积。

keras.layers.SeparableConv2D(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, depth_multiplier=1, activation=None, use_bias=True, depthwise_initializer='glorot_uniform', pointwise_initializer='glorot_uniform', bias_initializer='zeros', depthwise_regularizer=None, pointwise_regularizer=None, bias_regularizer=None, activity_regularizer=None, depthwise_constraint=None, pointwise_constraint=None, bias_constraint=None)

可分离的卷积的操作包括,首先执行深度方向的空间卷积 (分别作用于每个输入通道),紧接一个将所得输出通道 混合在一起的逐点卷积。depth_multiplier 参数控 制深度步骤中每个输入通道生成多少个输出通道。
直观地说,可分离的卷积可以理解为一种将卷积核分解成 两个较小的卷积核的方法,或者作为 Inception 块的 一个极端版本。
depth_multiplier: 每个输入通道的深度方向卷积输出通道的数量。 深度方向卷积输出通道的总数将等于 filterss _ in * depth _ multiplier。


Conv2DTranspose,
转置卷积层 (有时被成为反卷积)。

keras.layers.Conv2DTranspose(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)

Conv3D,
3D 卷积层 (例如立体空间卷积)–3个整数

keras.layers.Conv3D(filters, kernel_size, strides=(1, 1, 1), padding='valid', data_format=None, dilation_rate=(1, 1, 1), activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)

例如, input_shape=(128, 128, 128, 1) 表示 128x128x128 128 x 128 x 128 的单通道立体。


Cropping1D,

keras.layers.Cropping1D(cropping=(1, 1))
# 1D 输入的裁剪层(例如时间序列),沿着时间维度(第 1 个轴)裁剪。

Cropping2D,

keras.layers.Cropping2D(cropping=((0, 0), (0, 0)), data_format=None)

2D 输入的裁剪层(例如图像)。它沿着空间维度裁剪,即宽度和高度。

# 裁剪输入的 2D 图像或特征图
model = Sequential()
# 上下左右
model.add(Cropping2D(cropping=((2, 2), (4, 4)),
                     input_shape=(28, 28, 3)))
# 现在 model.output_shape == (None, 24, 20, 3)
model.add(Conv2D(64, (3, 3), padding='same'))
model.add(Cropping2D(cropping=((2, 2), (2, 2))))
# 现在 model.output_shape == (None, 20, 16. 64)

Cropping3D,
3D 数据的裁剪层(例如空间或时空)。

keras.layers.Cropping3D(cropping=((1, 1), (1, 1), (1, 1)), data_format=None)

UpSampling1D,
1D 输入的上采样层,沿着时间轴重复每个时间步 size 次。size又称作是上采样因子。

keras.layers.UpSampling1D(size=2)

UpSampling2D,
2D 输入的上采样层。沿着数据的行和列分别重复 size[0] 和 size[1] 次。

keras.layers.UpSampling2D(size=(2, 2), data_format=None)

UpSampleing3D,
3D 输入的上采样层。沿着数据的第 1、2、3 维度分别重复 size[0]、size[1] 和 size[2] 次。

keras.layers.UpSampling3D(size=(2, 2, 2), data_format=None)

ZeroPadding1D,
1D 输入的零填充层(例如,时间序列)。

keras.layers.ZeroPadding1D(padding=1)

左右填充0。


ZeroPadding2D,
2D 输入的零填充层(例如图像)。

keras.layers.ZeroPadding2D(padding=(1, 1), data_format=None)

上下左右填充0。


ZeroPadding3D.
3D 数据的零填充层(空间或时空)。

keras.layers.ZeroPadding3D(padding=(1, 1, 1), data_format=None)

你可能感兴趣的:(深度学习框架篇,Keras)