因需要租用了智星云的GPU云服务器,显卡是3090 × 4。经历了五天痛苦试错过程,至于成功。其实之前组的是4090服务器,但最后发现4090好像不太支持11.1版本cuda,而QPyTorch项目又不能使用11.8版本(服务器自带的)的cuda。
配置版本如下:
显卡:3090 ; 驱动版本(自带,可使用nvidia-smi查看)525.60.11
Ubuntu: 20.04 ;内核版本:(使用命令uname -r 查询)5.4.0-164-generic
g++/gcc:9.4.0
python:3.9
torch : 1.9.1
torchvision 0.10.1
cuda : 11.1.1
整个配置流程如下:
一、配置CUDA+Torch环境
1.启动云主机后:
当我们打开一台崭新的服务器,首先sudo apt update一下(本人习惯)
因智星云主机不带g++,使用以下命令安装:
sudo apt update
sudo apt install build-essential
2.创建虚拟环境:
云主机自带Anaconda3,所有直接创建虚拟环境,给虚拟环境起名pytorch1.8(要安装的torch环境是1.9,本人习惯了之前的pytorch1.8名字(●'◡'●)),指定python版本并激活:
conda create -n python1.8 python==3.9
conda activate python1.8
3.安装torch和torchvision
在新虚拟环境中安装torch和torchvision,下面是一种成功的方法,参考自两步解决conda安装pytorch时下载速度慢or超时的问题_anaconda下载pytorcg太慢-CSDN博客
需要等一阵时间。
pip install torch==1.9.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
pip install torchvision==0.10.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
安装好了之后可以在python里面查看是否成功(注意一定是在新建的虚拟环境中):
python
>>> import torch
>>> print(torch.__version__)
>>> import torchvision
>>> print(torchvision.__version__)
4.安装cuda11.1.1
这里特别容易踩坑。cuda的版本必须适配pytorch,有时候也比较看硬件驱动、软件程序。这里参考了下面的文章。我只分享了配置3090的经验,其他的我不清楚T^T。
揭秘Ubuntu深度学习服务器配置:新手如何成为专家?_ubuntu配置深度学习环境-CSDN博客
PyTorch和CUDA版本对应关系 - 墨莲玦 - 博客园 (cnblogs.com)
在CUDA历史官网中找到CUDA11.1.1点进去选择对应版本出来下载安装命令,照做:
wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run
sudo sh cuda_11.1.1_455.32.00_linux.run
等待一段时间的下载安装过后安装界面,输入“accept”后出现以下界面,由于已经有了显卡驱动,所以把drivers选项勾掉,即【x】-->【 】,然后选install
出现以下界面,因为智星云预装了11.8,所以选择yes,更新到11.1
安装成功后出现以下界面:
5、修改环境变量,这一步非常重要。
输入下面指令查看环境变量的cuda版本,可以看到还是cuda-11.8:
用echo输出下面环境变量的值:
用gedit ~/.bashrc打开.bashrc文件,复制刚才三个值到末尾,并把11.8全换成11.1,如下:
保存退出后用source ~/.bashrc激活新环境变量。
还要检查一下软连接是不是11.1,如果不是的话,参考其他文章修改软连接。我这个是符合的
然后再用nvcc -V查一下cuda版本,就安装好了。
二、配置QPyTorch运行环境
QPyTorch提供简单的方法量化神经网络,它自己还带一些examples,我们从github上下载QPyTorch,并配置运行它所需要的库。运行IBM8例子中的PreResNet20,所处环境在刚才的pytorch1.8环境中。
git clone https://github.com/Tiiiger/QPyTorch.git
cd QPyTorch
pip install -r requirement.txt
sudo apt install ninja-build
pip install ninja tabulate tensorboardX qtorch
cd examples/IBM8
./example.sh
出现以下界面就算成功了
三、出错情况
1.出现以下情况检查环境变量PATH、LD_LIBRARY_PATH、CUDA_HOME中还有没有11.8,有的话要改成11.8;ninja没有装好,重新装一下;重新运行后,把项目里面的缓存如__pycahe__等删掉。
2.如果运行后程序卡住不出结果,nvidia-smi之后发现,数据也没加载到显卡上。
对源程序一句一句的print,发现import torch或者import qtorch就已经不能运行了,这可能是之前改程序的错误退出导致的问题。需要删除~/.cache/torch_extensions文件夹。再次运行example.sh就可以正常执行了。
四、碎碎念
因为弄这个环境花了5天时间,心情一直循环在“疑惑--气愤--崩溃--振作”中,在4月13日凌晨1点配出来,我就立刻开始编辑这个文章,就是想本着开源分享的精神把自己的经验教训分享给和我一样正配环境的朋友,免受煎熬之苦。配环境真是太难了T^T
好文推荐
发表评论