当前位置: 首页 > 工具软件 > Distiller > 使用案例 >

服务器(2080Ti)配置pytorch,distiller开发环境踩坑记录

汤飞翮
2023-12-01

公司计算资源限制,将开发环境转移到学校实验室的服务器上进行,需要重新配置一遍开发环境。服务器配置为10块RTX 2080Ti的显卡。本以为有了之前一次配置环境的经验会很顺利,naive。。。

1.torch包之间的依赖关系

由于distiller的requirement.txt中说明
torch==1.1.0,torchvision==0.3.0,torchnet==0.0.4,pretrainedmodels==0.7.4
但就自己服务器上来说,不能直接pip ... -r requirement.txt,因为安装完torch后再安装torchvision==0.3.0, pip会自行安装torch的最新版本(我安装的时候是1.3.0),后两个库也是一样(那个pretrainedmodels==0.7.4真的是,日防夜防,家贼难防。。。),所以我的解决方法是,先自己手动安装这四个库,而且是同时,
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn torchvision==0.3.0 torchnet==0.0.4 torch==1.1.0 pretrainedmodels==0.7.4
然后将requirement.txt中的这四个库注释掉,再按照原来的方法安装distiller。

2.THCudaCheck FAIL file=/pytorch/aten/src/THC/THCGeneral.cpp line=383 error=11 : invalid argument

安装完后碰到的第一个坑,本质上就是RTX2080Ti显卡与pytorch版本不兼容的问题,但请注意解决方法,我就是碰到这个bug后直接百度按照第一个百度到的方法pip重新安装了一遍torch然后陷入了长达一天的无限月读中。。。倒不是说那个方法是错的,可能那个方法在当时有用,但到现在用那个链接pip下载到的torch1.1.0(原博是1.0.0,改一下链接就可以)包会莫名其妙变成最新版本1.3.0的,然后就会出现后面一大堆问题,后面会讲到。
在pytorch官方论坛上找到的解决方法是在你的源码里加入

torch.backends.cudnn.benchmark = False

或者把原来的True改成False。
这样做依然会报错但可以继续训练了。不知道后续pytorch官方会不会解决这个bug

当天更新:

写完后发现distiller运行例程依然会报错,白高兴了。。
又探索了一个下午终于找到了解决办法:
http://download.pytorch.org/whl/torch_stable.html这个网站下载torch和torchvision对应的在cuda10.0下编译的版本(之前尝试过这个方法,当时不行是因为只下载了torch没有下载torchvision),上传到服务器,切换到文件路径,用pip安装:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn torch-1.1.0-cp36-cp36m-linux_x86_64.whl torchvision-0.3.0-cp36-cp36m-linux_x86_64.whl torchnet==0.0.4 pretrainedmodels==0.7.4

然后按照1中安装distiller就OK了。

我哭了。

3. Error: libcudart.so.9.0: cannot open shared object file: No such file or directory

会出现这个bug就是因为上面2里面安装了torch1.3.0而torchvision还停留在0.3.0,同时对应的cuda版本是9.0。如果你不是RTX2080Ti的显卡出现这个问题解决办法看这里:解决方法
如果你是RTX2080Ti显卡,先看自己的cuda版本是不是10.0以上,不是的话重新装一下,再安装pytorch和对应版本的torchvision应该就可以了。

4.pip下载速度慢

换源。就像1中那个指令一样,具体换源教程网上去搜,有很多。

以上。反正我吐了。。

 类似资料: