栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

MNIST

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MNIST

learning_rate 0.001 train_loader t.utils.data.DataLoader(datasets.MNIST(root /home/dongguangjian/dong/MNIST_data ,train True,download False, transform transforms.Compose([transforms.ToTensor(),transforms.Normalize(mean (0.5,),std (0.5,))])),batch_size BATCH_SIZE,shuffle True) test_loader t.utils.data.DataLoader( datasets.MNIST(root /home/dongguangjian/dong/data/ , train False, transform transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,)) ])),batch_size BATCH_SIZE, shuffle True) # 设计模型 class ConvNet(nn.Module): def __init__(self): super(ConvNet, self).__init__() # 提取特征层 self.features nn.Sequential( # 卷积层 # 输入图像通道为 1 因为我们使用的是黑白图 单通道的 # 输出通道为32 代表使用32个卷积核 一个卷积核产生一个单通道的特征图 # 卷积核kernel_size的尺寸为 3 * 3 stride 代表每次卷积核的移动像素个数为1 # padding 填充 为1代表在图像长宽都多了两个像素 nn.Conv2d(in_channels 1, out_channels 32, kernel_size 3, stride 1, padding 1), # ((28-3 2*1)/1) 1 28 28*28*1 》 28*28*32 # 批量归一化 跟上一层的out_channels大小相等 以下的通道规律也是必须要对应好的 nn.BatchNorm2d(num_features 32), # 28*28*32 》 28*28*32 # 激活函数 inplace true代表直接进行运算 nn.ReLU(inplace True), nn.Conv2d(32, 32, kernel_size 3, stride 1, padding 1), # ((28-3 2*1)/1) 1 28 28*28*32 》 28*28*32 nn.BatchNorm2d(32), nn.ReLU(inplace True), # 最大池化层 # kernel_size 为2 * 2的滑动窗口 # stride为2 表示每次滑动距离为2个像素 # 经过这一步 图像的大小变为1/4 即 28 * 28 -》 7 * 7 nn.MaxPool2d(kernel_size 2, stride 2), nn.Conv2d(32, 64, kernel_size 3, padding 1), nn.BatchNorm2d(64), nn.ReLU(inplace True), nn.Conv2d(64, 64, kernel_size 3, padding 1), nn.BatchNorm2d(64), nn.ReLU(inplace True), nn.MaxPool2d(kernel_size 2, stride 2) # 分类层 self.classifier nn.Sequential( # Dropout层 # p 0.5 代表该层的每个权重有0.5的可能性为0 nn.Dropout(p 0.5), # 这里是通道数64 * 图像大小7 * 7 然后输入到512个神经元中 nn.Linear(64 * 7 * 7, 512), nn.BatchNorm1d(512), nn.ReLU(inplace True), nn.Dropout(p 0.5), nn.Linear(512, 512), nn.BatchNorm1d(512), nn.ReLU(inplace True), nn.Dropout(p 0.5), nn.Linear(512, 10), # 前向传递函数 def forward(self, x): # 经过特征提取层 x self.features(x) # 输出结果必须展平成一维向量 x x.view(x.size(0), -1) x self.classifier(x) return x
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267453.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号