Input():用来实例化一个keras张量
Input(shape=None,batch_shape=None,name=None,dtype=K.floatx(),sparse=False,tensor=None)
Input(shape=None,batch_shape=None,name=None,dtype=K.floatx(),sparse=False,tensor=None)
#参数:
shape: 形状元组(整型),不包括batch size。for instance, shape=(32,) 表示了预期的输入将是一批32维的向量。
batch_shape: 形状元组(整型),包括了batch size。for instance, batch_shape=(10,32)表示了预期的输入将是10个32维向量的批次。
name: 对于该层是可选的名字字符串。在一个模型中是独一无二的(同一个名字不能复用2次)。如果name没有被特指将会自动生成。
dtype: 预期的输入数据类型
sparse: 特定的布尔值,占位符是否为sparse
tensor: 可选的存在的向量包装到Input层,如果设置了,该层将不会创建一个占位张量。
#返回 一个张量
conv2d是创建一个卷积层,对输入数据进行卷积操作,先看一下原函数:
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
)
filters: 卷积核的数量,决定输出数据的最后一维(channels)的大小。
kernel_size:卷积核的大小(形状),决定输出数据 height, width 维度的大小。
strides: 卷积操作时步长,可以是一个整数代表height, width方向的步长相同,也可以是(x, y)表示height方向的步长为x,width方向的步长为y。
padding:等于’valid’时卷积核在 输入数据形状(height, width)最大范围内 进行移动,等于’same’时如果(height, width)没有恰好完全符合设定的kernel_size和strides,超出的部分将会填充0.
activation: 激活函数
use_bias: 是否使用偏置量
kernel_initializer: 卷积核的初始化方式
bias_initializer: 偏置量的初始化方式
MaxPooling2D
keras.layers.MaxPooling2D(pool_size=(2, 2), strides=None, padding='valid', data_format=None)
pool_size: 整数,或者 2 个整数表示的元组, 沿(垂直,水平)方向缩小比例的因数。 (2,2)会把输入张量的两个维度都缩小一半。 如果只使用一个整数,那么两个维度都会使用同样的窗口长度。
strides: 整数,2 个整数表示的元组,或者是 None。 表示步长值。 如果是 None,那么默认值是 pool_size。
padding: “valid” 或者 “same” (区分大小写)。
data_format: 字符串,channels_last (默认)或 channels_first 之一。 表示输入各维度的顺序。 channels_last 代表尺寸是 (batch, height, width, channels) 的输入张量, 而 channels_first 代表尺寸是 (batch, channels, height, width) 的输入张量。 默认值根据 Keras 配置文件 ~/.keras/keras.json 中的 image_data_format 值来设置。 如果还没有设置过,那么默认值就是 “channels_last”。
UpSampling2D
concatenate
对于那个轴 是怎么合并的 看这个