自学内容网 自学内容网

Windows配置深度学习环境(从查询合适的torch版本开始)——torch+CUDA

这里基于读者已经有使用Python的相关经验,就不介绍Python的安装过程。
win10+mx350+Python3.7.4+CUDA11.4.0+cudnn11.4
torch 1.11.0+cu113
torchaudio 0.11.0
torchvision 0.12.0+cu113

一、首先查看我们使用的Python版本

一般来说在命令行界面输入python就可以了解python版本。
在这里插入图片描述也可以使用如下代码查询python版本。

import sys
print(sys.version)

以下是torch与Python版本的对应关系对应关系依据
在这里插入图片描述

二、安装CUDA

安装CUDA的前提条件是无论是笔记本或者台式机都要有独立的GPU,且由于笔者电脑是NVIDIA显卡,所以本文只关于NVIDIA显卡的安装教程。

1、确定显卡支持的CUDA版本

首先打开NVIDIA控制面板

在这里插入图片描述

点击组件

在这里插入图片描述

这里即显示适用的CUDA版本

在这里插入图片描述

2、下载对应的CUDA Toolkit

CUDA Toolkit下载对应版本。如我在上一步的查询结果是NVIDIA CUDA 11.4.94,所以我在这里下载11.4。
显卡驱动具有向下兼容性,在这里可以选择11.4.94以下的版本
在这里插入图片描述依次点击
在这里插入图片描述参考以下三张图来源

在这里插入图片描述取消勾选vs
在这里插入图片描述将这三条路径记下,可能会用的到
在这里插入图片描述之后一直下一步即可。
查看环境变量,若未自动添加环境变量,需要手动添加

#根据上一步保存的路径添加
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\extras\CUPTI\lib64

验证环境变量是否配置成功
win+r输入cmd进入命令行界面输入nvcc -V
出现版本信息
在这里插入图片描述

2、安装cuDNN

英伟达官网寻找对应的版本 https://developer.nvidia.com/rdp/cudnn-archive以我为例
我在上一步显示的是NVIDIA CUDA 11.4.94
所以在官网我下载结尾为11.x的版本,在这里建议大家尽量不要最新的版本,以防出现问题找不到对应的解决方案。下载后进行解压。

在这里插入图片描述在这里插入图片描述
解压后如图所示,将这三个文件夹复制粘贴到CUDA的文件夹目录下,替换原有文件。
在这里插入图片描述验证cuDNN
同样win+r输入cmd进入命令行界面
切换到安装目录的demo_site
如果存放在C盘外的其它盘需要先d:回车进入该盘符再使用cd 存放目录进入

#如我的存放路径
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\extras\demo_suite

进入该文件夹后输入deviceQuery.exe
出现PASS
在这里插入图片描述输入bandwidthTest.exe
出现PASS
在这里插入图片描述到此cnDNN和CUDA安装成功

三、下载torch

Pytorch官网https://pytorch.org/get-started/previous-versions/查找对应版本的torch torchvision torchaudio
在这你可能会找不到对应版本,请搜索你的CUDA版本可不可以匹配另一个版本的torch
如我的CUDA是11.4但在这里并没有与之对应的版本,但是我经过搜索发现可以使用11.3匹配的版本。
在这里插入图片描述

  1. 在下载前,如果你在官网查询到的命令如下,其中含有torch==1.11.0+cu113,请务必不要删去不要删去+cu113
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113
  1. 在下载过程中,若直接复制命令下载很慢,可以使用国内源安装。参考国内源安装
    若使用Anaconda promopt 一劳永逸修改
    下载后可使用如下步骤测试
import torch

print(torch.__version__) #查看torch版本
 
print(torch.cuda.is_available()) # cuda是否可用,可用返回TRUE,不可用返回false

以下是两个简单的神经网络用以测试

import torch
import torch.nn as nn

class SimpleNet(nn.Module):
    def __init__(self):
        super(SimpleNet, self).__init__()
        self.fc1 = nn.Linear(10000, 10000)

    def forward(self, x):
        x = self.fc1(x)
        return x

net = SimpleNet().to(torch.device('cuda'))

第二个代码参考第二个代码来源


import torch
import time

gpu = torch.device('cuda')
# 如果用cpu测试那么注释掉上面的代码, 用下面的
# gpu = torch.device('cpu')

beginTime = time.time()

a = torch.rand(2048, 2048)
b = torch.rand(2048, 2048)
c = torch.rand(2048, 2048)

x = a.to(gpu)
y = b.to(gpu)

z = c.to(gpu)

initTime = time.time()
print("ok")

i = 0

while i < 10000:
    z = (z + x + y)
    i += 1

endTime = time.time()

print(z)

print("运行结束, 初始化使用了 {} 秒, 循环用了 {} 秒".format(initTime - beginTime, endTime - beginTime))

以上为本人配置pytorch环境的全过程,以此作为记录,有不足还请大家指出。


原文地址:https://blog.csdn.net/weixin_52010459/article/details/135738177

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!