Ubuntu平台基于RTX3090配置Pytorch3d踩坑

基本配置

在实验室搭载RTX3090的服务器上配置Pytorch3d + pytorch + cuda + nvidia驱动 (一环扣一环)。

Ubuntu18.04 + RTX3090 + Pytorch3D0.4 + Pytorch1.8.1 + cuda11.1 + nvidia_driver455 + python3.8

正确操作:

参考Pytorch3d的官方安装说明(https://github.com/facebookresearch/pytorch3d/blob/master/INSTALL.md)给出的安装示例是基于python3.8,pytorch1.7.1 cuda10.2,但是由于3090显卡不适配CUDA11以前的版本,所以我安装的是pytorch1.8.1 + cuda11.1,从NVIDIA官网下载并安装了cuda11.1(同时安装了cuda自带的显卡驱动455)。

根据官网要求通过conda安装fvcore, ioPath, nvidiacub等一系列附加库。

因为我的环境和官网推荐的环境不同,因此conda安装自然是不能用的(实际上我试过,会产生一些conflict的问题);pip安装仅更新到cuda10.1也不能用;因此我采用了Install from GitHub:
pip install “git+https://github.com/facebookresearch/pytorch3d.git”
(https://github.com/facebookresearch/pytorch3d/blob/main/INSTALL.md#1-install-from-github)
在这里插入图片描述
成功!

备注:
关于pytorch 版本,理论上应该是只要是可以搭配cuda11系列的pytorch都可以

踩坑

  1. 用官方的conda安装会出现一堆conflict的问题,查了查好像是和conda发行版本和发行路径相关的,没有细究。

  2. 3090显卡不适配CUDA11以前的版本(https://forums.developer.nvidia.com/t/can-rtx-3080-support-cuda-10-1/155849)

  3. 显卡驱动最好是在安装cuda时候一起安装,虽然nvidia官方理论上说新显卡驱动是可以适配老cuda,但是这会造成nvidia-smi显示的cuda-driver版本和nvcc -V显示的版本不一样(https://stackoverflow.com/questions/53422407/different-cuda-versions-shown-by-nvcc-and-nvidia-smi)。在我的实验中,torch.cuda.is_available会得到false。

  4. 在源码安装pytorch3d时报错,显示找不到一些cuda的库或着文件,经检查发现是CUDA_HOME的路径写错了。(https://github.com/NVIDIA/flownet2-pytorch/issues/171#issuecomment-633027047)原本在.bashrc中写的是“export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.1”,应改为“export CUDA_HOME=/usr/local/cuda-11.1”,这是因为变量CUDA_HOME在系统中之前并没有。

  5. 如果在安装cuda之前已经预先安装好了nVidia驱动(apt install或者官网下载后安装),则安装cuda时会先弹出警告“ Existing package manager installation of the driver found”,有两个方案处理:如果确定自己已安装的版本能行,则直接continue;如果想安装cuda自带的nVidia驱动,则先把之前的卸载干净(https://askubuntu.com/questions/1211919/error-installing-cuda-toolkit-existing-package-manager-installation-of-the-driv)

  6. 如果在安装cuda过程中中断,然后在nvidia-installer.log中看到“Unable to load the kernel module 'nvidia.ko’”,则说明显卡驱动和显卡不适配,就我的情况而言是当时安装CUDA10.2自带的显卡驱动和RTX3090不合适

  7. 当使用pytorch时出现“CUDA unknown error”,则大概率都是显卡驱动和显卡不适配或者显卡驱动和cuda不适配造成的。(https://stackoverflow.com/questions/62359175/pytorch-says-that-cuda-is-not-available)

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值