复现笔记clean-pvnet复现
目录
3、Compile cuda extensions under lib/csrc
(4)虽然在data文件夹中新出现一个result文件夹,但里面没有结果文件?
1、下载代码
git clone https://github.com/zju3dv/clean-pvnet.git
2、配置环境
-
conda create -n pvnet python=3.7
-
conda activate pvnet
-
-
conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.2 -c pytorch
-
-
pip install Cython==0.28.2
-
sudo apt-get install libglfw3-dev libglfw3
-
pip install -r requirements.txt
注意:
- 我的gpu是rtx2060,cuda版本是10.2,所以改了一下(如果按照给的torch网址安装了cuda9.2的1.1版本,后续测试的时候会报错)
conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.2 -c pytorch
- 该过程中遇到了版本不匹配的问题(例如以下问题),我的解决方案是直接修改requirements.txt中设置的版本号
- 最后我在python3.7 torch1.5.0_cu102 cuda10.2环境下的requirements.txt如下所示
-
yacs==0.1.4
-
numpy==1.21.6
-
torchvision==0.6.0
-
opencv-python==3.4.2.17
-
tqdm==4.28.1
-
pycocotools==2.0.0
-
matplotlib==2.2.2
-
plyfile==0.6
-
scikit-image==0.14.2
-
scikit-learn
-
PyOpenGL==3.1.1a1
-
ipdb==0.13
-
cyglfw3==3.1.0.2
-
pyassimp==3.3
-
progressbar==2.5
-
open3d-python==0.5.0.0
-
tensorboardX==1.2
-
cffi==1.11.5
-
transforms3d
-
pillow==6.2.1
后续安装了transform3d(见第4节)
-
~/3dTracking/clean-pvnet$ pip install transforms3d
-
Collecting transforms3d
-
Using cached transforms3d-0.4.1.tar.gz (1.4 MB)
-
Preparing metadata (setup.py) ... done
-
Building wheels for collected packages: transforms3d
-
Building wheel for transforms3d (setup.py) ... done
-
Created wheel for transforms3d: filename=transforms3d-0.4.1-py3-none-any.whl size=1376757 sha256=890c7940063b6c9fca40c910e5bafea777f001ed762debc2f5055e2f408dcc54
-
Stored in directory: /home/rakuli/.cache/pip/wheels/0b/2a/fe/379cf61e108f06750107439af6531daf372d7de2c390a939b4
-
Successfully built transforms3d
-
Installing collected packages: transforms3d
-
Successfully installed transforms3d-0.4.1
3、Compile cuda extensions under lib/csrc
-
ROOT=/path/to/clean-pvnet
-
cd $ROOT/lib/csrc
-
export CUDA_HOME="/usr/local/cuda-10.2"
-
cd ransac_voting
-
python setup.py build_ext --inplace
-
cd ../nn
-
python setup.py build_ext --inplace
-
cd ../fps
-
python setup.py build_ext --inplace
-
-
# If you want to run PVNet with a detector
-
cd ../dcn_v2
-
python setup.py build_ext --inplace
-
-
# If you want to use the uncertainty-driven PnP
-
cd ../uncertainty_pnp
-
sudo apt-get install lib谷歌-glog-dev
-
sudo apt-get install libsuitesparse-dev
-
sudo apt-get install libatlas-base-dev
-
python setup.py build_ext --inplace
因为我的cuda版本是10.2,所以在export cuda_home的时候修改了路径
这一部分的输出日志较长(因为我还是希望保存一下),见以下链接:https://blog.csdn.net/weixin_54470372/article/details/128293517
4、Set up datasets:
(1)数据集
从以下链接下载linemod数据集;
-
ROOT=/path/to/clean-pvnet
-
cd $ROOT/data
-
ln -s /path/to/linemod linemod
-
ln -s /path/to/linemod_orig linemod_orig
-
ln -s /path/to/occlusion_linemod occlusion_linemod
-
-
# the following is used for tless
-
ln -s /path/to/tless tless
-
ln -s /path/to/cache cache
-
ln -s /path/to/SUN2012pascalformat sun
我没有建立软链接,直接将LINEMOD压缩包解压在data文件夹内,文件夹名改为linemod
运行以下命令进行数据集的prepare
python run.py --type linemod cls_type cat
输出日志如下:
-
~/3dTracking/clean-pvnet$ python run.py --type linemod cls_type cat
-
100%|███████████████████████████████████████████████████████████████████████████████████████████████| 177/177 [00:00<00:00, 5575.48it/s]
-
100%|███████████████████████████████████████████████████████████████████████████████████████████| 10000/10000 [00:08<00:00, 1139.37it/s]
-
100%|██████████████████████████████████████████████████████████████████████████████████████████| 10000/10000 [00:00<00:00, 11956.80it/s]
-
100%|█████████████████████████████████████████████████████████████████████████████████████████████| 1002/1002 [00:00<00:00, 6410.46it/s]
-
100%|███████████████████████████████████████████████████████████████████████████████████████████| 1187/1187 [00:00<00:00, 347379.21it/s]
(2)训练好的权重文件
再从以下链接下载名为cat_199.pth文件,保存至data/model/pvnet/cat文件夹内,更改文件名为199.pth
https://1drv.ms/f/s!AtZjYZ01QjphgQBQDQghxjbkik5f
(3)测试成功
运行以下命令进行测试
-
python run.py --type evaluate --cfg_file configs/linemod.yaml model cat cls_type cat
-
python run.py --type evaluate --cfg_file configs/linemod.yaml test.dataset LinemodOccTest model cat cls_type cat
注:
(1)第一次运行时会从pytorch官网下载resnet的预训练文件
(2)由于报错,安装了transform3d
-
File "lib/evaluators/linemod/pvnet.py", line 19, in <module>
-
from transforms3d.quaternions import mat2quat, quat2mat
-
ModuleNotFoundError: No module named 'transforms3d'
(3)由于报错,添加执行权限
RuntimeError: error executing torch_shm_manager at "/home/r**/anaconda3/envs/pvnet/lib/python3.7/site-packages/torch/bin/torch_shm_manager" at /pytorch/torch/lib/libshm/core.cpp:99
解决:
chmod x /home/r*/anaconda3/envs/pvnet/lib/python3.7/site-packages/torch/bin/torch_shm_manager
(4)出现以下报错
cublas runtime error:the GPU program failed to execute at /pytorch/aten/src/THC/THCBlas.cu:450
查了一下大多数回答说是torch版本不匹配的问题,我的gpu是rtx2060,cuda版本是10.2,走投无路试着升级torch的版本
conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.2 -c pytorch
接着重新执行第3步,注意先需要删除lib/csrc/ransac_voting文件夹中的build和__pycache__两个文件夹。升级torch后的命令如下
终于终于终于成功运行。输出太长了,只截取结尾部分
(4)虽然在data文件夹中新出现一个result文件夹,但里面没有结果文件?
5、可视化成功
python run.py --type visualize --cfg_file configs/linemod.yaml model cat cls_type cat
运行后会自动弹出结果
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfgakf
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13