GeForce GTX 1080 Ti + NVIDIA 驱动470.239 + CUDA11.3 + python3.10 + pytorch1.10.0 + torchvision0.12.0 +kornia0.6.8 环境搭建
一、起因
搞毕设要运行代码来训练模型,但报错:The NVIDIA driver on your system is too old (found version 11000).Please update your GPU driver by downloading and installing a new version from the URL
就是说显卡驱动太低,和pytorch版本不适配。
输入nvidia-smi
查看显卡信息,发现服务器的显卡驱动最高只能支持到CUDA11.0;
输入nvcc -V
查看cuda的版本为9.1;
但我的pytorch是2.2,需要CUDA11.8以上的版本,所以现在由两个选择:①升级显卡驱动和CUDA版本;②降低pytorch版本。
我首先尝试第二种方法(因为不敢随便动服务器的驱动程序,怕给服务器搞坏)
- 尝试先下载torch0.4.0(和CUDA9.1适配),之后下载其他的依赖库,但是后来下载kornia的时候自动将torch0.4.0卸载,安装了torch2.2。(大概是因为kornia和torch也需要适配,但貌似没有kornia能和torch0.4.0适配。。。)
- 所以现在只能尝试第一种方法。
二、升级显卡驱动程序并安装对应的CUDA、pytorch
驱动程序与CUDA的对应关系pytorch和torchvision以及cuda对应表
- 升级驱动
- 查看现在的驱动
- 禁用显卡驱动源nouveau
- 卸载现有的驱动
- 下载目标驱动程序 查看服务器可支持的驱动程序并下载
- 安装驱动
- 安装CUDA
- 查看有没有安装CUDA
- 卸载已有的CUDA
- 下载并安装目标CUDA
- 修改环境变量
- 安装对应的pytorch
根据上面的对应关系安装指定版本的pytorchpip install pytorch==1.10.0
换源加速
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pytorch=1.10.0
三、其中的一些问题和小tips
- pip install 太慢可以使用pip install -i 镜像源 package的方式下载清华镜像源
- 安装驱动时报错An NVIDIA kernel module ‘nvidia-drm‘ appears to already be load解决
- nvidia-smi报错Failed to initialize NVML: Driver/library version mismatch 本质原因是NVIDIA内核驱动版本与系统内核版本不一致解决方案 按照上面的解决方案,我查看系统驱动发现它没有自动更新,所以我干脆按照这个链接重新将驱动又安装了一遍。
至此,按照以上流程成功搭建GPU加速环境,代码也跑通了。(有种看着孩子长大的感觉,看到代码不报错心情真的很激动!)