并且修改网络结构,把全连接层改为卷积层。
正确率97增长至98,性能提升三分之一。~

import torch
from torchvision import transforms
from torchvision import datasets
from torch.utils.data import DataLoader
import torch.nn.functional as F
import torch.optim as optimbatch_size = 64transform = transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.1307, ), (0.3081, ))
])#把[]中的操作整成一个pipline,均值和标准差train_dataset = datasets.MNIST(root='./dataset/mnist/',train=True,download=True,transform=transform)
train_loader = DataLoader(train_dataset,shuffle=True,batch_size=batch_size)
test_dataset = datasets.MNIST(root='./dataset/mnist/',train=False,download=True,transform=transform)
test_loader = DataLoader(test_dataset,shuffle=False,batch_size=batch_size)class Net(torch.nn.Module):def __init__(self):super(Net, self).__init__()self.conv1 = torch.nn.Conv2d(1, 10, kernel_size=5)self.conv2 = torch.nn.Conv2d(10, 20, kernel_size=5)self.pooling = torch.nn.MaxPool2d(2)self.fc = torch.nn.Linear(320, 10)def forward(self, x):# Flatten data from (n, 1, 28, 28) to (n, 784)batch_size = x.size(0)x = F.relu(self.pooling(self.conv1(x)))x = F.relu(self.pooling(self.conv2(x)))x = x.view(batch_size, -1)  # flattenx = self.fc(x)return x
model = Net()
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model.to(device)
criterion = torch.nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.5)def train(epoch):running_loss = 0.0for batch_idx, data in enumerate(train_loader, 0):inputs, target = datainputs, target = inputs.to(device), target.to(device)optimizer.zero_grad()# forward + backward + updateoutputs = model(inputs)loss = criterion(outputs, target)loss.backward()optimizer.step()running_loss += loss.item()if batch_idx % 300 == 299:print('[%d, %5d] loss: %.3f' % (epoch + 1, batch_idx + 1, running_loss / 300))running_loss = 0.0def test():correct = 0total = 0with torch.no_grad():for data in test_loader:inputs, target = datainputs, target = inputs.to(device), target.to(device)outputs = model(inputs)_, predicted = torch.max(outputs.data, dim=1)total += target.size(0)correct += (predicted == target).sum().item()print('Accuracy on test set: %d %%' % (100 * correct / total))#%%输出就是%,转义
if __name__ == '__main__':for epoch in range(10):train(epoch)test()

处理minist数据集,把网络和数据都放在gpu上面。相关推荐

  1. HTML+CSS实训——Day12——把数据都放在服务器上

    前言 昨天我们把一些基本的NodeJs的操作都学完了,今天把我们做的音乐app的一些数据放到服务器上面. 发现页 server.js // 导入express模块 var express = requ ...

  2. 大数据经历了40年的发展,传统数据和网络大数据存在哪些不同?

    文章来源:探码科技 从"大数据"一词的正式出现距今已经将近40年的时间,现如今,互联网成为大数据三大来源之一,是获取.传播和扩散相关信息的重要渠道.作为主要数据类型,如今的网络大数 ...

  3. MINIST数据集测试不同参数对网络的影响

    目录 一.介绍 1.实验环境 2.网络结构 二.网络效果 1.初始状态 2.有BN层 3.激活函数 tanh sigmoid relu 4. 正则化 L2正则化 Dropout 5.优化器 6. 学习 ...

  4. 送你100+NLP数据集!数据科学需要的数据都在这里

    本文转载一个来自学堂在线的关于数据科学的资源整理,方便大家共同学习. 原文地址:https://mp.weixin.qq.com/s/QIXWnpijJivEfdCepL28iA 文内容由学堂在线的课 ...

  5. Tensorflow基于minist数据集实现自编码器

    Tensorflow实现自编码器 自编码器 Denoising AutoEncoder(去噪自编码器) 自编码器 特征的稀疏表达:使用少量的基本特征组合拼装得到更高层抽象的特征. 如:图像碎片可由少量 ...

  6. 数据挖掘实战(9.5)--使用神经网络识别MINIST数据集

    一.minist数据集 minist数据集分为两个部分,训练集和测试集,然后在不同的集合中分为两个文件,数据Images文件和Labels文件.在数据集中一个有60000个训练数据和10000个测试数 ...

  7. tensorflow2 minist手写数字识别数据训练

    ✨ 博客主页:小小马车夫的主页 ✨ 所属专栏:Tensorflow 文章目录 前言 一.tenosrflow minist手写数字识别代码 二.输出 三.参考资料 总结 前言 刚开始学习tensorf ...

  8. 【MLP实战】001:基于Minist数据集的手写数字识别

    本文又是一篇基于Minist数据集的手写数字识别. 首先,mnist数据集: 链接:https://pan.baidu.com/s/1z7R7_jnDKZm9F7M6n8hiIw 提取码:rn8z 首 ...

  9. 1400小时开源语音数据集,你想要都在这儿

    整理 | 一一 出品 | AI科技大本营(ID:rgznai100) 3 月 1 日,由 Mozilla 基金会发起的 Common Voice 项目,发布新版语音识别数据集,包括来自 42000 名 ...

最新文章

  1. shell:syntax error:unexpected end of file/Starting proxy www-balancer: cannot bind socket--转载
  2. LOJ P10149 凸多边形的划分 题解
  3. Python学习(3)变量类型
  4. 有用的Ant构建标签
  5. C/C++ putchar函数 - C语言零基础入门教程
  6. 输出26个英文字母c语言,菜鸟求助,写一个随机输出26个英文字母的程序
  7. 最短路径之Dijkstra算法
  8. lintcode 734. 形式为a^i b^j c^k的子序列数量 题解
  9. mysql索引久了需要重新_mysql索引更新要多久
  10. 华三 h3c Vlan静态路由
  11. python 网页转pdf
  12. Linux内核剖析之回收页框
  13. mongodb 非 admin 库 认证登陆失败 原因(百度好多都 是渣)db.addUser() 请走开。
  14. MongoDB的安装启动
  15. 马哥linux多道处理程序,马哥linux课堂笔记
  16. java 实现 excel normsdist_Excel函数NormSDist和NormSInv的VB实现
  17. 从零开始,学会Python爬虫不再难!!! -- (13)selenium项目:自动点赞机丨蓄力计划
  18. 1196: 最后的胜利者
  19. app爬虫之航班数据获取
  20. 光速不变原理的一般性表述

热门文章

  1. 【英语学习】【Level 07】U02 Live Work L2 A place to call my home
  2. 【英语学习】【WOTD】emote 释义/词源/示例
  3. Android 开发总结大全
  4. 交换机配置工具_二层网管交换机应用—环路检测
  5. python安装方法_Python如何批量更新已安装的库,为你介绍六种方法!
  6. VS系列IDE(2005、2008等)下使用cppunit的方法及使用示例
  7. Unreal4 IOS上使用第三方库和C++11 特性问题解决
  8. matlab 实现 kmeans聚类,gscatter的应用
  9. JEPF 3.1.3 发布,我们的软件机床
  10. error while loading shared libraries: xxx.so.x错误