源码:
1.原址:https://github.com/RobotLocomotion/LabelFusion
2.改版:https://github.com/ianre657/LabelFusion
Table of Contents
一、环境配置:
1.cuda 和nvidia driver安装。(这个网上教程一大堆,自己动手丰衣足食)
2.nvidia-docker2 安装。
https://blog.csdn.net/hehehetanchaow/article/details/105735499
二、安装记录:
1. 下载源码
如果是安装的nvidia-docker2,建议 git clone https://github.com/ianre657/LabelFusion.git (推荐)
如果是按照官方教程,那就 git clone https://github.com/RobotLocomotion/LabelFusion.git,但是我初次安装这个的时候,会报错,猜测是因为它依赖的nvidia-docker1.....
我这里主要记录nvidia-docker2的方法,各位酌情处理吧
2. 自动下载、构建和部署docker环境
cd LabelFusion/docker //务必进入到这个目录下,不然config.sh路径就不对了
./docker_run.sh /path/to/data-folder
然后等它自己慢慢下载吧。下载完后就自动进入docker了
3.docker下验证
cd ~/data/labelfusion/data/logs_test/2017-06-16-20 //改成自己下载的数据集路径
run_alignment_tool
正常情况下,就可以看到这个界面
三、使用记录:
1. docker相关
工程都在docker里面,所以这里列举一些可能需要用的指令,用docker container也行,感觉是一样的
docker ps:显示正在运行的docker
docker ps -a: 显示所有的docker
docker start e9765daf2c4b: 启动一个停止的docker, id号改成ps指令里对应的id
docker exec -it e9765daf2c4b /bin/bash: 进入已启动的docker(推荐)
docker attach e9765daf2c4b:进入已启动的docker。多窗口时,所有的窗口都会同步显示(不建议)
docker stop e9765daf2c4b: 退出docker
docker kill e9765daf2c4b: 强制退出
docker rm: 删除docker
docker run :新建并启动一个容器
每次重新进入docker时候,请(第一次默认source过了)
source ~/labelfusion/docker/docker_startup.sh
ps:
1.在docker_run.sh里面,有个 --rm的参数,如果ctrl+d退出的话,就直接exit(0)并且删除当前的container了,如果你想下次继续用这个container的话,可以把这个参数给删掉。但是这样再跑 run_alignment_tool时候,会报错cannot connect to X server :1
对应解决方法是:在host的terminal上运行: xhost +local:root
遇到的问题:
1.
解决方法
在root:~/ElasticFusion/Core/Src/CMakelists.txt下修改:
+ set(CUDA_ARCH_BIN "61" CACHE STRING "Specify 'real' GPU arch to build binaries for, BIN(PTX) format is supported. Example: 1.3 2.1(1.3) or 13 21(13)")
- set(CUDA_ARCH_BIN "30 35 50 52 61" CACHE STRING "Specify 'real' GPU arch to build binaries for, BIN(PTX) format is supported. Example: 1.3 2.1(1.3) or 13 21(13)")
注意,我的电脑是1070的显卡,所以我这里用的61,你可以改成自己对应的