ubuntu16.04安装caffe依赖项遇到的问题与解决方式[非root权限]

ubuntu16.04安装caffe依赖项遇到的问题与解决方式[非root权限]

  • 源码编译安装caffe需要的依赖项
      • 1、源码编译安装Glog遇到的问题及对caffe安装的影响
      • 2、源码编译caffe过程中的问题和解决方式
      • cuda问题:在make runtest出现cuda出现问题

源码编译安装caffe需要的依赖项

依赖项分别有:protobuf, boost, gflags, glog, hdf5, opencv, lmdb(或levelDB), Snappy;

具体的安装步骤可以参考:Linux服务器无Root权限安装caffe教程。 这里只介绍遇到的坑(s)和解决方式,如果你也遇到了类似的问题,期望对诸位debugger有用。

1、源码编译安装Glog遇到的问题及对caffe安装的影响

问题1:make编译golg中出现: src/glog/logging.h, can't find gflags/gflags.h file
解决方式:在.make之前的./configure配置过程中 指定gflags的位置, 如下: ./configure --prefix=/your_install_dir/local --with-gflags=/your_gflags_dir/build

问题2:在import caffe的时候出现Error: Error: gflags.cc' is being linked both statically and dynamically into this executable
说明此时gflags.cc链接了静态库和动态库;
解决方式1:修改glog目录下CMakeLists.txt后重新编译:

add_library (glog
  ${GLOG_SRCS}
)

改为:

add_library (glog SHARED
  ${GLOG_SRCS)

然后查看cmake ..以后的/your_caffe_root/build/CMakeCache.txt中:GFLAGS_LIBRARY:FILEPATH=/media/huaxin/tcl3/public/lipeng/caffe_deps/local/lib/libgflags.so是否是动态链接库*.so, 如果是以*.a结尾的静态链接库,则一律改成*.so
解决办法2:是的编译的gflags只生成*.so动态库,不生成*.a静态库(此方法我没尝试,应该可行!)

2、源码编译caffe过程中的问题和解决方式

问题1: 在build文件中make -j16时出现:Unsupported gpu architecture 'compute_20;由于电脑安装的cuda版本不支持上述gpu架构。
解决方式: 注释掉或去掉/your_caffe_root/Makefile.config中:

-gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \

问题2:在make -j16出现:nvcc fatal : Unsupported gpu architecture 'compute_75',表明读者安装的cuda版本不支持compute_75;
解决方式1: 修改build目录下CMakeCache.txt中的:
CUDA_ARCH_NAME:STRING=Auto

CUDA_ARCH_NAME:STRING=Manual
然后再make -j16 && make install && make pycaffe
解决方式2: 或者修改/your_caffe_root/cmake/Cuda.cmake中的相关内容[笔者没有弄过!!!]

===================================================

cuda问题:在make runtest出现cuda出现问题

问题:笔者的配置环境中显卡是RTX2080Ti, 其支持的gpu架构为Turing, 最好安装cuda-10.1版本的cudatoolkit, 笔者电脑原先配置的是cuda-9.0所有导致出现不匹配的问题。
解决方式:安装cuda-10.1, 然后在/usr/local中采用软链接机制:sudo ln -s cuda-10.1 cuda。并重新安装对应cuda版本的opencv和caffe.
PS. 在编译cuda10版本的opencv3.4.4中,出现opencv-3.4.0/modules/cudacodec/src/precomp.hpp:60:37: fatal error: dynlink_nvcuvid.h: No such file or directory,此时只需要采用: cmake -D BUILD_opencv_cudacodec=OFF ..可解决该问题。
备注暂时遇到这些问题,配置过程会出现各种各样的问题,以后遇到其他问题,会继续添加问题描述和解决方式

你可能感兴趣的:(Caffe,源码编译caffe依赖项)