pip是python的默认包的安装方法,相比conda等第三方包管理工具,更喜欢 pip 的简洁和高效
近期实验使用pip在venv的环境中,完成了安装和配置
整体流程
按照nvidia的标准流程,CUDA Installation Guide for Microsoft Windows (nvidia.com)
过程就三步:安装显卡驱动、安装CUDA Development Tools、使用pip 安装 包含cuda 的 torch。使用venv是为了完成编程开发环境的隔离
1.安装最新版的显卡驱动
直接在nvidia的官方网站Official Drivers | NVIDIA中选择对应的版本下载,并安装。
当前最新的版本
2.下载并安装 CUDA Development Tools
达到nvidia的官网地址 CUDA Toolkit 12.3 Update 2 Downloads | NVIDIA Developer下载对应的工具包
在本地磁盘空间不足,网络状态良好的时候,选择了网络版,本地磁盘空间没有问题的可以直接选择 local
当前的版本是12.3.2
完成安装之后在win的终端中,使用命令行进行测试
这里显示的cuda为12.1
3.使用 pip 安装包含cdua的pytorch
转到pytorch的官网,选择对应的平台、cuda版本,生成 pip 的安装命令
把最后一行的命令复制下来,在venv的环境中粘贴并运行。
TIP: venv 环境的部署有大量的文章讲过,这里只提供相应的命令,具体的内容参考另文
python -m venv T311
cd T311/scripts
activate
这时,会看到根据python的版本、平台的不同,安装不同的包。其中 troch的whl文件竟然有2.5G
Tip:如果网络状况不佳,在大约10分钟左右还没有下载完成,这是 pip 报由于下载没有完成而失败。此时,需要再次尝试,或者使用下载工具把whl下载到本地之后再安装;必要的时候,还需要使用 pip uninstall 的命令先把之前的torch(cpu版本的)卸掉在安装
安装完成之后,测试
import torch
torch.cuda.is_available() #显示True,则安装成功
安装成功
Tip:使用 torch.__varsion__的方式测试并不准确,就算返回是包含有cuda的troch,在 is_available()时,也会返回 False
最后的 requirements.txt
certifi==2022.12.7
charset-normalizer==2.1.1
filelock==3.13.1
fsspec==2024.2.0
idna==3.4
Jinja2==3.1.3
MarkupSafe==2.1.5
mpmath==1.3.0
networkx==3.2.1
numpy==1.26.4
nvidia-cublas-cu12==12.3.4.1
nvidia-cuda-cupti-cu12==12.3.101
nvidia-cuda-nvcc-cu12==12.3.107
nvidia-cuda-nvrtc-cu12==12.3.107
nvidia-cuda-runtime-cu12==12.3.101
nvidia-cuda-sanitizer-api-cu12==12.3.101
nvidia-cudnn-cu12==8.9.7.29
nvidia-cufft-cu12==11.0.12.1
nvidia-curand-cu12==10.3.4.107
nvidia-cusolver-cu12==11.5.4.101
nvidia-cusparse-cu12==12.2.0.103
nvidia-npp-cu12==12.2.3.2
nvidia-nvjitlink-cu12==12.3.101
nvidia-nvjpeg-cu12==12.3.0.81
nvidia-nvml-dev-cu12==12.3.101
nvidia-nvtx-cu12==12.3.101
pandas==2.2.0
pillow==10.2.0
python-dateutil==2.8.2
pytz==2024.1
requests==2.28.1
six==1.16.0
sympy==1.12
torch==2.2.0+cu121
torchaudio==2.2.0+cu121
torchvision==0.17.0+cu121
typing_extensions==4.9.0
tzdata==2024.1
urllib3==1.26.13
探索过程的细节
之前参考很多文章在做,也许是成文时间比较早,绕了一些圈。记录本次的一些细节,以后或许可以参考
- cudnn不是必须,可以不装
- 从win中自身的驱动程序中,查找最新的驱动没有获得更新。在安装完 CUDA Development Tools,进行nvcc测试时,提示有新的驱动并给出了下载的链接,按照指引之后,很快就完成
- nvidia的官方文件的文件已经写得比较的完整,有非常大的价值,并且给出了pip wheel的方法
- 尝试过使用 “pip install torch==2.2.0+cu121” 一类的命令安装指定版本,报错“指定的版本没有找到”,不知道是不是“+”的写法不对
参考链接
nvidia的官方文件:CUDA Installation Guide for Microsoft Windows (nvidia.com)