A 前言
环境查询:
二---显卡 2080ti 2张
驱动 495.29.05 nvidia-smi
Ubuntu 20.04.3 LTS
三---cuda 11.3 (本机11.5需要卸载再安装) nvcc -V
(最高支持cuda11.3(截止11月6日),如果是最新版pytorch cuda11.4还是无法支持,只能手动降级)
四---cudnn 未安装
pytorch 1.7.1 print(torch.__version__)
python 3.7.11
因此我决定安装之前用过的北京云的版本来保证完美运行,但是因为系统太新cuda也得新,导致后面计划全变了
module load anaconda/2020.11 module load cuda/10.2 module load cudnn/8.1.1.33_CUDA10.2 #conda create --name py37 python=3.7cuda 10.2
cudnn 8.1.1.33
python 3.7因为系统20.04->因此cuda需要11.3->根据cuda选择torch
B 安装思路---以及顺序(从底层到上层)
驱动--系统->cuda->pytorch
因为系统20.04->因此cuda需要11.3->根据cuda选择torch 同时torch与运行代码一致
1 查看驱动
驱动 495.29.05
2 查看系统和cuda的对应关系
系统是20.04
在cuda下载位置:CUDA Toolkit Archive | NVIDIA Developer
找cuda可以适配的cuda版本
因为机器系统很新所以找的cuda也很新11.3适配,下载11.3
注意下图中的20.04,有这个的cuda才行
3 根据驱动装cuda
根据驱动可以得知我们可以按装所以的cuda版本,因为驱动版本很新
按照北京云的版本我们准备按装cuda 10.2,但是我们ubuntu系统很新只能装11.3
但是我们的已经有的cuda是11.5,因此需要卸载重新装11.3
(1) 禁用nouveau驱动
在/etc/modprobe.d/blacklist-nouveau.conf中添加两行:
blacklist nouveau
options nouveau modeset=0
找到etc的方法
只读文件解锁方法 sudo chown 用户名 文件名/
保存后:update-initramfs -u
权限不够解决办法:sudo update-initramfs -u
重启后验证是否已经禁用:lsmod | grep nouveau
若无输出则已禁用
(2) 确定需要安装的pytorch版本 (这部分先不管)
pytorch版本对应着cuda版本和python版本. 因此需要先确定pytorch版本, 再确定cuda版本和python版本.
python版本在pip torch的网站确定, 可以看到文件名后对应着python版本. 仅此处可以看到, 其他地方不会看到, 也没有任何提示.
pytorch建议版本: torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio===0.10.0+cu113
(3) 删除cuda
安装不同版本cuda前需要删除其他版本
删除说明的链接: Installation Guide Linux :: CUDA Toolkit Documentation
删除后需要重启
要找到ubuntu
卸载cuda之后驱动也没有
可以通过
nvcc -V
nvidia-smi
来验证
4) cuda下载
官网: CUDA Toolkit Archive | NVIDIA Developerhttps://developer.nvidia.com/cuda-toolkit-archive
cuda建议版本: 11.3
方法一:用deb安装(我没有用这个方法,跳到方法二)
通过deb安装时,
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda-repo-ubuntu2004-11-3-local_11.3.1-465.19.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-3-local_11.3.1-465.19.01-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-3-local/7fa2af80.pub
sudo apt-get update
最后一个特殊
sudo apt-get -y install cuda=11.3.1-1
请注意上述cuda=11.3.1-1中的-1是通过下面指令确认的
apt-cache policy <<package name>> #这个命令会列出所有包的版本
apt-cache policy cuda
11.3.1-1
命令sudo apt-get -y install cuda需要注明版本号, 如sudo apt-get -y install cuda=11.3, 版本号可以通过上一段的命令查找
安装完后需要配置cuda的环境变量:
echo 'export PATH=/usr/local/cuda-11.3/bin/:$PATH'>>~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH'>>~/.bashrc
source ~/.bashrc
方法二:用run的方式下载
运行完了,但是安装需要有驱动,谭老师用自动安装驱动的方法安装
搜索-软件和更新-附加驱动
选择版本495,然后点击应用更改
4 安装pytorch 因为cuda 11.3 pytorch要1.10
Start Locally | PyTorch
Start Locally | PyTorch
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
5 安装代码所需要的包
pip install requirement.txt 这个是从北京云的已经能运行的代码中freeze得来的
注意这里面torch版本还是安装上一步的来
跳到最后
pip install requirement.txt
注意:这些写都是在zjc虚拟环境中进行的
6 后续补充
1 pip install opencv-python(比较慢需要等)
2 安装pex(需要有torch才能安装,用下载好的安装包安装很快)
3 pip install timm
3 运行代码
RuntimeError: CUDA error: no kernel image is available for execution on the device
4 验证cuda能否被torch识别
torch.cuda.is_available()
torch.cuda.is_available()
- 只是检测CUDA是否安装正确并能被Pytorch检测到,并没有说明是否能正常使用,要想看Pytorch能不能调用cuda加速,还需要简单的测试一下:
a=torch.Tensor([1,2])
a=a.cuda()
a
相关文章:RuntimeError: CUDA error: no kernel image is available for execution on the device_音程的博客-CSDN博客
查看
1 查看驱动版本
驱动 495.29.05
2 查看自己torch:1.7.1
print(torch.__version__)
3 以及torch应该对应的cuda版本:10.2
print(torch.__version__)
背景:需要配置一个2张3080ti配置新机器的深度学习环境
杂七杂八的安装
一 安装anaconda
官网:
选择第一个
二 安装或查看显卡驱动
1 官网下载驱动并安装,NVIDIA 驱动程序下载
我的电脑已经装了驱动,
2 看下自己的显卡型号和驱动,(貌似电脑出厂已经安装了驱动)
nvidia-smi
显卡被省略
驱动是495.29.05
3 安装Anaconda
这个比windows简单,一条命令。
首先切换到anaconda安装包的路径,在该路径下执行指令(注意sh文件名字要写自己的)
sh Anaconda3-5.0.1-Linux-x86_64.sh #后边的文件名称是你的安装包的名称
输入python3 查看是否安装成功,上述表示成功
三 安装驱动对应的cuda
cuda官网 CUDA 工具包 | NVIDIA Developer
CUDA Toolkit 11.5 Downloads | NVIDIA Developer
下载cuda, 新需要与系统对应,我的Ubuntu 20.04.3 LTS
因此选择20.04
查看自己cuda版本
11.5
卸载11.5 安装10.2
四 安装cudnn
1 cuda与cudnn是对应的,看好对应关系
表太旧
查看cudnn的版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
输入之后,没结果说明没安装
2 官网
https://developer.nvidia.com/rdp/cudnn-downloadhttps://developer.nvidia.com/rdp/cudnn-download
去官网下载cudnn选择对应版本
选择x86 64
但是找不到连接
下载不了,粘贴到下载器可以下载