电脑为华硕天选三,Rtx3070显卡,win11系统
1.创建anaconda虚拟环境
使用“conda create -n your_env_name python=X.X”命令创建python版本为X.X、名字为your_env_name的虚拟环境
conda create -n pytorch_gpu_1
2.进入虚拟环境,并配置国内镜像源
激活虚拟环境:
activate pytorch_gpu_1
附:conda安装以及 CUDA Toolkit安装可以参考:
https://blog.youkuaiyun.com/weixin_43798572/article/details/123122477
conda以及 CUDA Toolkit安装好以后,进行下一步
3.安装指定版本的pytorch gpu指定版本,安装安装命令如下:

pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
此处安装使用pip安装,速度较快 实测2个多g的文件 三分钟以内装好!
4.验证是否安装成功
在你的anaconda prompt中激活你的虚拟环境,输入python,并输入以下命令:
import torch
print(torch.__version__)
print(torch.cuda.is_available())
输出True,并无报错则安装成功!
使用pycharm配置anaconda环境(较为简单,不会的可以自行百度),使用cifar10数据集并训练LeNet网络
5.运行官方demo:
5.1创建model.py文件,并创建lenet模型
#create LeNet
import torch.nn as nn
import torch.nn.functional as F
#[batch,channel,height,width
#经卷积后的矩阵尺寸大小计算公式:N=(W-F+2P)/S + 1 w:输入图片大小 F:卷积核大小 S:步长 P:padding的像素数p
class LeNet(nn.Module):
def __init__(self):
super(LeNet,self).__init__()
self.conv1 = nn.Conv2d(3, 16, 5) #输入图片通道数 卷积核个数 卷积核大小
self.pool1 = nn.MaxPool2d(2,2) #池化核大小 步距
self.conv2 = nn.Conv2d(16, 32, 5)
self.pool2 = nn.MaxPool2d(2,2)
self.fc1 = nn.Linear(32*5*5, 120) #全连接层 输入参数个数 输出参数个数
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 10)
def forward(self,x):
x = F.relu(self.conv1(x)) #input(3,32,32) output(16,28,28)
x = self.pool1(x) # output(16,14,14) 池化层只影响宽和高 不影响深度
x = F.relu(self.conv2(x)) # output(32,10,10)
x = self.pool2(x) # output(32,5,5)
x = x.view(-1,32*5*5) #view函数类似于numpy中的resize函数, -1表示将矩阵转为向量
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = self.fc3(x)
return x
5.2:创建train.py文件,编写以下代码,使用gpu训练模型
import torch
import torchvision
import torch.nn as nn
from model import LeNet
import torch.optim as optim
import torchvision.transforms as transforms
from matplotlib import pyplot as plt
import numpy as np
import time
transform = transforms.Compose

本文详细介绍了在Windows 11系统中,通过Anaconda创建Python环境,配置国内镜像源,安装PyTorch GPU版本,以及如何使用LeNet模型进行CIFAR10数据集训练。重点展示了GPU加速下LeNet网络的搭建和性能比较。
最低0.47元/天 解锁文章
1340

被折叠的 条评论
为什么被折叠?



