目录
1.导包
2.torchvision数据处理的方法
3.下载加载手写数字的训练数据集
4.下载加载手写数字的测试数据集
5. 将训练数据与测试数据 转换成dataloader
6.转成迭代器取数据
7.创建模型
8. 把model拷到GPU上面去
9. 定义损失函数
10. 定义优化器
11. 定义训练过程
12.最终运行测试
1.导包
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
import numpy as np
import matplotlib.pyplot as plt
torch.__version__
'2.4.1+cu121'
# 检查GPU是否可用
torch.cuda.is_available()
True
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')device
device(type='cuda', index=0)
# pytorch中使用GPU进行训练的主要流程注意点:
#1. 把模型转移到GPU上.
#2. 将每一批次的训练数据转移到GPU上.
# torchvision 内置了常用的数据集和常见的模型.
#使用pyTorch框架 整迁移学习时,可以从torchvision中加载出来
2.torchvision数据处理的方法
import torchvisionfrom torchvision import datasets, transforms
# transforms.ToTensor 的作用如下:
# 1. 把数据转化为tensor
# 2. 数据的值转化为0到1之间.
# 3. 会把channel放到第一个维度上.
# transforms用来做数据增强, 数据预处理等功能的.
#Compose()可以将很多数据处理的方法组合起来, 用列表来组合
transformation = transforms.Compose([transforms.ToTensor(),])
3.下载加载手写数字的训练数据集
#下载获取手写数字数据集MNIST ,获取其中的训练数据集
#train=True表示获取训练数据集
train_ds = datasets.MNIST('./', train=True, transform=transformation, download=True)
datasets
<module 'torchvision.datasets' from 'D:\\anaconda3\\lib\\site-packages\\torchvision\\datasets\\__init__.py'>
4.下载加载手写数字的测试数据集
# 下载获取 手写数字的 测试数据集
#train=False表示获取测试数据集
test_ds = datasets.MNIST('./', train=False, transform=transformation, download=True)