这是使用spyder运行的代码,用的是anaconda环境,pytorch框架(数据集那些都已经在盘里面):
# 引入Pytorch,在Python中使用torch表示
import torch
# 从torch中引入网络层
from torch import nn
# 从torch中引入优化器(求解器)
from torch import optim
# 引入torchvision处理常用的数据集
from torchvision import datasets, transforms
# 引入可视化工具visdom
import visdom
import numpy as np
####################
## 第1步 加载数据集 ##
####################
# load dataset 加载数据集
# torch提供的数据加载函数
# 加载 datasets.MNIST 这个数据集
# 数据集存放路径为''D:/kaikeba___/data'(按照自己存放的路径,若路径下没有数据集,download=True会自动下载)'
# train=True,是否开展训练:是
# 图片变换,transforms是torchvision提供的图片处理函数,包括放大,扰动等。此处要变换图片大小.Resize();改变图片数据格式为矢量.ToTensor(),因为图片加载后是标量numpy
# 如果没有这个数据集,就载这个数据集download=True
# batch_size可以理解为多线程,即一次加载128张图片
# shuffle=True,随机化,将图片打散
train_loader = torch.utils.data.DataLoader(datasets.MNIST('F:/ppppp/data', train=True,
transform=transforms.Compose([
transforms.Resize(
28, 28),
transforms.ToTensor(),
]), download=True),
batch_size=128, shuffle=True
)
# 将上面的train_loader复制粘贴下来,作为测试集test_loader。但也要做一些修改。
# 区分数据集是用于训练还是测试,从train = True/False可以判断
test_loader = torch.utils.data.DataLoader(datasets.MNIST('F:/ppppp/data', train=False,
transform=transforms.Compose([
transforms.Resize(
28, 28),
transforms.ToTensor(),
]), download=True),
batch_size=128, shuffle=True
)
# 为训练添加环境变量,之后程序产生的所有数据都会出现在这个环境变量中,visdom就可以监听数据实现可视化
# 而且在visdom中还可以按照环境变量名选择性监听,便于分类管理
viz