1.更改colab的cuda版本
colab的cuda版本是11.1,本人需要cuda11.0,更改过程如下:
(1)查看colab当前的cuda版本信息:
!nvcc -V
(2)卸载当前cuda版本:
#Uninstall the current CUDA version
!apt-get --purge remove cuda nvidia* libnvidia-*
!dpkg -l | grep cuda- | awk '{print $2}' | xargs -n1 dpkg --purge
!apt-get remove cuda-*
!apt autoremove
!apt-get update
(3)查看cuda是否卸载成功
(4)去官网下载需要的CUDA版本,并安装;可以先看一下Colab的系统版本,应该都是Ubuntu 18.04;
!lsb_release -a
(5)然后知道系统版本,就可以去找对应的CUDA下载链接了,过程如下:
(6)安装新版本的cuda
!wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
!sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
!wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda-repo-ubuntu1804-11-0-local_11.0.2-450.51.05-1_amd64.deb
!sudo dpkg -i cuda-repo-ubuntu1804-11-0-local_11.0.2-450.51.05-1_amd64.deb
!sudo apt-key add /var/cuda-repo-ubuntu1804-11-0-local/7fa2af80.pub
!sudo apt-get update
!sudo apt-get -y install cuda
(7)再次查看cuda版本,发现已更新
2.安装pytorch以及cmake
(1)查看pytorch当前版本信息
import torch
print(torch.__version__)
print(torch.version.cuda)
(2)安装cuda11.0版本的pytorch1.7.1(可以不更改cuda版本,直接装11.0的pytorch编译spconv么)
!pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
(3)再次查看pytorch版本信息
(4)卸载colab当前的cmake版本
!pip uninstall cmake -y
(5)wget cmake-3.15.2版本,进行源码编译安装
!wget https://github.com/Kitware/CMake/releases/download/v3.15.2/cmake-3.15.2.tar.gz
!tar xvf cmake-3.15.2.tar.gz
cd cmake-3.15.2
!./bootstrap
!make
!make install
!cmake --version
3.安装spconv1.2.1
(1)git spconv1.2.1版本,此版本是修复版(针对无编译环境直接pip安装.whl文件时报错缺少libcuhash.so问题),其中 -b 分支
!git clone -b build_bug_fix https://github.com/ExpeditionTechnology/spconv.git --recursive
(2)编译spconv
cd spconv
!python setup.py bdist_wheel
(3)安装spconv(此轮子可以直接在别的环境中pip install安装spconv)
cd ./dist
pip install spconv-1.2.1-cp37-cp37m-linux_x86_64.whl
(4)import查看是否安装成功,无报错则安装成功
参考文章:
(44条消息) 更改Colab的CUDA以及cudnn_Seven7_Lu的博客-CSDN博客_colab安装cuda
BUG: bug fix that allows for a pip installation without the missing libcuhash.so error. Can now be uploaded to a pypi server by sioan · Pull Request #268 · traveller59/spconv (github.com)