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

报错:

)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
) No module named google.protobuf.internal
解决:sudo pip install protobuf
原文地址:https://www.cnblogs.com/cc111/p/10225252.html