初始安装
安装cuda
先查看自己显卡支持的cuda版本,目前最高支持cuda11.2
去英伟达官网下载,然后下一步下一步就行
测试cuda
打开cmd,能成功输出信息就算是成功了
nvcc -V
测试pytorch
执行脚本,能成功输出信息就算是成功了
import torch
if __name__ == '__main__':
print(torch.__version__)
print(torch.cuda_version)
print(torch.cuda.is_available())
pip安装pytorch
可以去pytorch官网复制pip安装的命令
# 后面加了个国内源,下的快
pip3 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.douban.com/simple/
安装cudnn
cudnn是cuda的加速库,只安装cuda是没有cudnn的,去英伟达官网下载,解压后复制到cuda的安装目录就行
官方文档:
https://docs.nvidia.com/deeplearning/cudnn/latest/installation/windows.html
后续升级
升级显卡驱动
用Geforce查看当前显卡是否有最新驱动,升级驱动一般可以让显卡支持的最大cuda版本提升
查看Cuda版本支持
升级驱动后,已经支持到了12.4
安装新版本cuda
这里选择cuda11.8进行安装,主要是pytorch和paddle同时支持的最高版本就是11.8
过往所有版本cuda下载地址:
https://developer.nvidia.com/cuda-toolkit-archive
下载完,下一步下一步安装就行。此处我选择自定义安装,避免重复安装显卡驱动等额外东西
检查环境变量
安装后重新检查环境变量的 path 变量中确认下面 3 项均存在,如果缺少则添加。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXXX\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXXX\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXXX\extras\CUPTI\lib64
不关机刷新环境变量
taskkill /f /im explorer.exe; explorer.exe
安装新版本pytorch
我本机一直用的是py39,所以安装前可以看下py39有没有这个版本的制品。直接访问:https://download.pytorch.org/whl/torch/
# 首先删除干净旧版本torch的一些库
pip uninstall torch -y
pip uninstall torchvision -y
pip uninstall torchaudio -y
# 安装新版本
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
安装Cudnn
打开官网:https://developer.nvidia.com/cudnn-downloads
下载完解压的文件直接放到cuda的安装目录下,里面的三个文件夹,CUDA安装目录也有,复制粘贴进去
安装Paddle
目前最新版本Paddle为2.6,可以支持cuda11.8。不过为了避免依赖冲突,我这边paddle安装在了anaconda的环境中。torch用的最多,安装在了裸机上
python -m pip install paddlepaddle-gpu==2.6.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
验证
查看当前cuda版本是不是11.8
nvcc -V
查看当前torch能不能使用cuda
import torch
if __name__ == '__main__':
print(torch.__version__)
print(torch.cuda_version)
# 检查CUDA是否可用
cuda_available = torch.cuda.is_available()
if cuda_available:
# 获取GPU设备数量
num_gpu = torch.cuda.device_count()
# 获取当前使用的GPU索引
current_gpu_index = torch.cuda.current_device()
# 获取当前GPU的名称
current_gpu_name = torch.cuda.get_device_name(current_gpu_index)
# 获取GPU显存的总量和已使用量
total_memory = torch.cuda.get_device_properties(current_gpu_index).total_memory / (1024 ** 3) # 显存总量(GB)
used_memory = torch.cuda.memory_allocated(current_gpu_index) / (1024 ** 3) # 已使用显存(GB)
free_memory = total_memory - used_memory # 剩余显存(GB)
print(f"CUDA可用,共有 {num_gpu} 个GPU设备可用。")
print(f"当前使用的GPU设备索引:{current_gpu_index}")
print(f"当前使用的GPU设备名称:{current_gpu_name}")
print(f"GPU显存总量:{total_memory:.2f} GB")
print(f"已使用的GPU显存:{used_memory:.2f} GB")
print(f"剩余GPU显存:{free_memory:.2f} GB")
else:
print("CUDA不可用。")
# 检查PyTorch版本
print(f"PyTorch版本:{torch.__version__}")
查看当前paddle能不能使用cuda
import paddle
paddle.device.is_compiled_with_cuda()
评论区