Back-propagatable PnP (BPnP)环境安装

ubuntu anaconda虚拟环境中bpnp运行环境的安装。

bpnp代码链接:BoChenYS/BPnP: Back-propagatable PnP (github.com)

安装

anaconda虚拟环境创建

参考链接里requirements.sh内推荐的配置,使用python版本为3.7。

 在命令行输入下面命令,建立名为bpnp的环境。

conda create -n bpnp python=3.7

激活环境:

conda activate bpnp

安装cudatoolkit和pytorch

1、查看电脑配置

安装nvidia驱动(可以看csdn上的教程)

查看驱动情况

nvidia-smi

执行情况:

 看出来:驱动版本450.156.00;cuda能支持的最高版本:11.0。

2、安装cudatoolkit

conda install cudatoolkit=11.0

等号右侧为版本号,根据自己的情况更改。

3、查看对应cudatoolkit版本的pytorch

到官网看对应版本关系:Previous PyTorch Versions | PyTorch

可以直接复制官网的命令下载pytorch。

示例:我的cudatoolkit版本11.0,所以打开官网后可以按ctrl+f搜索“CUDA 10.2”,高亮处下方就是对应命令,注意对应系统选linux。

 conda命令下载没换源可能会很慢甚至报错,可以往下拖一拖用pip下载。

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

换源方法:http://t.csdn.cn/EDaO4

4、验证pytorch功能

python
import torch
torch.cuda.is_available()

 返回true就是成功了。

退出用ctrl+d

安装requirements中其他部分

1、安装nccl

conda install nccl

pip install nccl

2、安装ipython ninja cython matplotlib opencv=3.4 tqdm requests six scipy

可以直接复制requirements.sh里的安装命令

 有可能conda-forge无法安装,那么就可以用conda install 安装包名称

或者 pip install 安装包名称        来下载各种需要的库。

如,pip install kornia=版本号

3、补充安装

require 还需要chaedet才能不报错。

conda install chardet 

我遇到的问题

问题1

UserWarning: A100-PCIE-40GB with CUDA capability sm_80 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70.

NVIDIA A100-PCIE-40GB 带有的CUDA算力是8.0,它和现有的PyTorch版本不匹配,现有的PyTorch版本支持的CUDA算力是 3.7,5.0,6.0,7.0,7.5。

解决方法1

第一次下载时,cudatoolkit版本较低,并非11.0版本,所以卸载cudatoolkit(conda uninstall cudatoolkit),然后重新下载较高版本的cuda和pytorch。

问题2

AttributeError: module 'kornia' has no attribute 'angle_axis_to_quaternion'

在官方文件中,四元数表示为 [x, y, z, w]。 但是,在代码实现中,四元数是 [w, x, y, z]。

angle_axis_to_quaternion returns (w, x, y, z) instead of (x, y, z, w) · Issue #903 · kornia/kornia (github.com)

有问题,所以官方更新的较高版本不再用这个了,所以降kornia版本就可以解决。

解决方法2

conda uninstall kornia
pip install kornia=0.5.0

问题3

Traceback (most recent call last): File "demoPoseEst.py", line 67, in <module> loss.backward()

... ...

RuntimeError: view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces). Use .reshape(...) instead.

解决方法3

根据错误信息,看起来问题出现在BPnP.py文件中的backward函数中,使用了view函数导致了RuntimeError

BPnP.py文件中,将backward函数中的view操作改为reshape操作。(红框改为绿框内容)

 

pts3d_flat = pts3d.clone().reshape(-1).detach().requires_grad_()

运行结果

 

 

 注:程序只是跑通。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值