写在前面:
作者电脑配置为:win11 + NVIDIA GeForce MX25
安装Anaconda
-
下载地址:https://www.anaconda.com/download(下载官网最新版本的)
-
下载完成后进入Anaconda Prompt在base环境验证,输入指令
conda --version
安装CUDA
-
首先查看电脑适配的最高版本,进入Anaconda Prompt在base环境输入
nvidia-smi
-
历史版本下载:https://developer.nvidia.com/cuda-toolkit-archive(下载cuda11.7版本)
-
检查与配置环境变量
检测系统变量中PATH是否存在:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1 -
检查CUDA是否成功
进入Anaconda Prompt在base环境中进入CUDA安装路径:
cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite
分别输入deviceQuery.exe
和bandwidthTest.exe
,若都显示Result=PASS则说明安装成功 -
查看CUDA版本
进入Anaconda Prompt在base环境中输入以下指令:nvcc --version
安装pytorch
-
首先需要知道的一点:CUDA的版本需要与PyTorch版本对应才能成功启用GPU加速
-
使用conda创建不同的环境,为不同的环境安装不同版本的pytorch以满足不同环境下项目的需求。
进入Anaconda Prompt在base环境中输入以下指令创建名为DL_001的python版本为3.7的运行环境:conda create -n pytorch python=3.7
-
创建环境结束后,使用以下指令查看已有的环境:
conda env list
-
进入已有的环境,输入以下语句切换环境:
activate DL_001
-
为DL_001环境安装pytorch(这里采用手动下载torch,torchvision,torchaudio文件,在进行离线安装)
-
进入torch等文件下载仓库download.pytorch.org/whl/cu117/torch_stable.html
-
下载cuda11.7 + python3.7对应的Pytorch版本(torch1.13.0 + torchvision0.14.0 + torchaudio0.13.0)
-
下载好后进入Anaconda Prompt在DL_001环境下切换进刚才下载的三个文件的文件夹路径
-
使用以下指令依次安装三个包(时间可能会很长,作者用了近三个小时):
pip3 install torch-1.13.0+cu117-cp37-cp37m-win_amd64.whl
pip3 install torchvision-0.14.0+cu117-cp37-cp37m-win_amd64.whl
pip3 install torchaudio-0.13.0+cu117-cp37-cp37m-win_amd64.whl
-
验证Pytorch是否安装成功
- 进入Anaconda Prompt在DL_001环境中进入python编写环境:
- 导入torch包:
- 使用torch.cuda.is_available()指令检测GPU加速是否启用
说明:若为False,则说明未启用GPU加速,但在小计算量的模型中不影响使用,例如以下进行两个列向量的求和。
但若想要启用GPU加速,可以从以下几个思路检测配置是否正确:CUDA版本是否在电脑显卡承受范围内;进入PyTorch官网获取PyTorch安装指令:CUDA版本是否与PyTorch版本对应,具体对照表这里就不赘述,注意某一个版本的PyTorch包含torch、torchvision、torchaudio的版本可能不同;下载torch等包的时候版本是否选择正确;
补充
在跑李沐的动手学深度学习(PyTorch)的模型仓库中:d2l-zh\pytorch\chapter_convolutional-modern\resnet.ipynb
出现以下问题:
- 原因:python和pytorch的版本不一致,pytorch里的torchvision模块需要从typing中导入OrderedDict,但是python 3.7对应的typing包里没有OrderedDict,所以无法导入导致报错
- 解决方法:
在DL_001环境安装typing_extensions:
pip3 install typing_extensions -i https://pypi.tuna.tsinghua.edu.cn/simple
(注:在"pip3 install typing_extension"后面加上“-i https://pypi.tuna.tsinghua.edu.cn/simple“表示修改这次下载源为清华源,能够起到安装加速的作用)
然后修改报错位置的maxvit.py文件,在我这里也就是“E:/anaconda/envs/Lib/site-packages/torchvision/models/maxvit.py”,修改为不从typing中导入OrderedDict模块,而是从typing_extensions中导入,将包的导入情况修改为如下图:
- 以上问题解决不报错
作者是深度学习正在入门的小菜,如有问题的地方希望大佬批评指正!!!