【学习笔记】【Pytorch】十一、搭建CIFAR-10 model结构和Sequential的使用
学习地址
PyTorch深度学习快速入门教程【小土堆】.
主要内容
一、CIFAR-10 model结构介绍

- input : 3@32x32,3通道32x32的图片 --> 特征图(Feature maps) : 32@32x32
即经过32个3@5x5的卷积层,输出尺寸没有变化(有x个特征图即有x个卷积核。卷积核的通道数与输入的通道数相等,即3@5x5)。
两种方法推导出padding = 2、stride = 1的值:
- 公式法:

- 理论法:为保持输出尺寸不变,padding都是卷积核大小的一半,应该padding=kernel_size/2;奇数卷积核把中心格子对准图片第一个格子,卷积核在格子外有两层就padding=2。
- input : 32@32x32 --> output : 32@16x16
即经过2x2的最大池化层,stride = 2(池化层的步长为池化核的尺寸),padding = 0,特征图尺寸减小一半。
3.input : 32@16x16 --> output : 32@16x16
即即经过32个3@5x5的卷积层,输出尺寸没有变化。padding = 2、stride = 1。
4.input : 32@16x16 --> output : 32@8x8
即经过2x2的最大池化层,stride = 2,padding = 0,通道数不变,特征图尺寸减小一半。
5.input : 32@8x8 --> output : 64@8x8
即即经过64个3@5x5的卷积层,输出尺寸没有变化。padding = 2、stride = 1。
6.input : 64@8x8 --> output : 64@4x4
即经过2x2的最大池化层,stride = 2,padding = 0,通道数不变,特征图尺寸减小一半。
二、代码实现
import torch
from torch import nn
from torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequential
from torch