提示:
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.
解决方案:
把CUDA降低到11.3,卸载11.7
sudo apt-get --purge remove "cuda*"
sudo rm -rf /usr/local/cuda-11.7
vi ~/.bashrc
删掉:
# export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}}
# export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source ~/.bashrc
安装11.3CUDA Toolkit 11.3 Update 1 Downloads | NVIDIA Developer
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
出现:
下列软件包有未满足的依赖关系:
cuda : 依赖: cuda-11-3 (>= 11.3.1) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get remove cuda-*
sudo apt-get autoremove
sudo apt-get install cuda-11-3
出现:
在处理时有错误发生: nvidia-dkms-465 cuda-drivers-465 cuda-drivers nvidia-driver-465 cuda-runtime-11-3 cuda-demo-suite-11-3 cuda-11-3 E: Sub-process /usr/bin/dpkg returned an error code (1)
sudo dpkg --configure -a
sudo apt-get install -f
编辑~/.bashrc,加入:
export PATH=/usr/local/cuda-11.3/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
sorce ~/.bashrc
安装对应版本的pytorch