Keras学习之三:用CNN实现cifar10图像分类模型
1 卷积神经网络简介
卷积神经网络和全连接神经网络一样,都是由多个神经网络层连接而成。不同的是CNN一般是由多个卷积层,池化层交替连接起来,用于提取输入数据的高层特征,并缩小数据的维度。最后对提取出的特征进行神经网络分类形成最终的输出。更详细的卷积神经网络相关知识可参见第4节提供的链接。
2 Keras对CNN的支持
keras.layers包中实现了与CNN相关的层模型,分别实现在convolutional和pooling模块中。
2.1 convolutional模块
convolutional模块中实现了卷积层的层模型,用于数据的特征提取。
层名 | 作用 | 原型 |
---|---|---|
Conv1D | 1维卷积层 | Conv1D(filters, kernel_size, strides=1, padding=’valid’) |
Conv2D | 2维卷积层 | Conv2D(filters, kernel_size, strides=(1, 1), padding=’valid’,dilation_rate=(1, 1)) |
UpSampling1D | 1维上采样,将数据重复指定的次数 | UpSampling2D(size=2) |
UpSampling2D | 2维上采样,将数据在2个维度上重复指定的次数 | UpSampling2D(size=(2, 2)) |
ZeroPadding2D | 边界填充0 | ZeroPadding2D(padding=(1, 1)) |
2D参数说明:
参数 | 说明 |
---|---|
filters | 卷积核的数目,也是处理后输出的深度 |
kernel_size | 过滤器的窗口大小 |
strides | 过滤器卷积的步长 |
paddi |