win11使用anaconda安装pytorch-gpu版本 并训练LeNet网络 Cifar10数据集

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

电脑为华硕天选三,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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值