ubuntu16.04下跑通CALC开源代码
论文地址:http://www.roboticsproceedings.org/rss14/p32.pdf
github地址:https://github.com/rpng/calc
DeepLCD部分:
按照git上面的流程进行配置:CUDA、OpenCV、Eigen、Boost、Caffe。此类配置安装教程网上很多
opencv: https://www.cnblogs.com/cc111/p/9464962.html
Eigen:
sudo apt-get install libeigen3-dev
Boost filesystem: https://www.cnblogs.com/osbreak/p/9715788.html
安装caffe前先安装一些库
sudo apt-get install git sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install --no-install-recommends libboost-all-dev sudo apt-get install libatlas-base-dev sudo apt-get install python-dev sudo apt-get insall libgflags-dev libgoogle-glog-dev liblmdb-dev
caffe: https://blog.csdn.net/qq_40265629/article/details/81086092 (GPU版)
https://blog.csdn.net/qq_30683995/article/details/80384792(CPU版)
cuda推荐从观望先下载,根据自己的系统等选择下载。8.0版本 https://developer.nvidia.com/cuda-80-ga2-download-archive
建议:caffe安装在根目录下
一、calc/DeepLCD
下载代码,cd到DeepLCD的目录下,然后mkdir build, cd build, cmake .., make
make时有可能会报如下的错误:
1) fatal error: caffe/caffe.hpp: No such file or directory
解决:在caffe的安装目录下找到include/caffe,然后将这一级的caffe文件夹整个拷贝至usr/include目录下。
注意:一般usr/include目录不允许用户进行操作,我们可以先退一级,进入usr目录下。然后使用sudo chmod -R 777 include, 然后再操作
或者直接使用sudo nautilum命令,此命令打开的目录允许我们做任何操作
2)caffe/proto/caffe.pb.h: No such file or directory
解决:先在电脑中搜索是否有caffe.pb.h这个文件,如果有,直接将其上级文件整个儿拷贝至usr/include/caffe中
否则生成caffe.pb.h文件:
a.cd到caffe的安装根目录
b.protoc --cpp_out=./include/caffe/ src/caffe/proto/caffe.prot
C.将生成的proto拷贝至 usr/include/caffe中。
3)*** No rule to make target 'src/googletest-build/googlemock/gtest/libgtest.a', needed by 'deeplcd-test'。 停止。
CMakeFiles/Makefile2:211: recipe for target 'CMakeFiles/deeplcd-test.dir/all' failed
解决:在电脑中搜索找到libgtest.a,然后拷贝至build/src/googletest-build/googlemock/gtest
4) *** No rule to make target 'src/googletest-build/googlemock/gtest/libgtest_main.a', needed by 'deeplcd-test'. Stop.
解决:方法同上
我的解决方法是:先搜索找到libgtest_main.a文件,然后将其粘贴至src/googletest-build/googlemock/gtest/路径下。其他类似的错误都是同样的解决方法。
问题解决。
编译后的结果:
1、 To Run the test:
./deeplcd-test
报错:F0106 11:35:34.630745 3976 cudnn_conv_layer.cpp:53] Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0) CUDNN_STATUS_INTERNAL_ERROR
解决:改用sudo ./deeplcd-test
或者在caffe安装过程中配置时选择不应用cudnn(说是电脑的计算能力大于3,用cudnn是没问题的。但是在执行过程中还是会报上述错误,要么选择方法一解决,要么就不用cudnn,一了百了……
2、To Run the Demo:
sudo ./demo
3、To Run the Speed Test:
sudo ./speed-test images/memory images/live
4、编译calc/DeepLCD/online-demo_ws/:
1)建立catkin_ws工作空间:mkdir -p ~/catkin_ws
2)将DeepLCD整个工程拷贝到catkin_ws目录下
2)按照上述操作编译DeepLCD工程
4)cd到online-demo_ws的目录下
5)catkin_make
6)roscore
7)另打开一个终端:source devel/setup.sh
8)roslaunch launch/online-demo.launch
二、calc/TrainAndTest
报错:
1)import caffe ImportError: No module named caffe
解决:https://blog.csdn.net/qq_38451119/article/details/81120432
2)ImportError: No module named skimage.io
解决:https://blog.csdn.net/dc1994dc/article/details/7916288
2)ImportError: No module named _caffe
解决:https://blog.csdn.net/sinat_33718563/article/details/80245576
3)ImportError: No module named sklearn.metrics
解决:sudo pip install sklearn
4)Check failed: status == CUBLAS_STATUS_SUCCESS (1 vs. 0) CUBLAS_STATUS_NOT_INITIALIZED
解决:sudo rm -rf ~/.nv
5) No module named google.protobuf.internal
解决:sudo pip install protobuf