代码先锋网 代码片段及技术文章聚合

Caffe安装填坑大全

1.系统Ubuntu18.04

我一开始安装的是cuda9.1,后来发现tensorflow目前较大支持到cuda9.0,不支持cuda9.1。如果用cuda9.1需要自己编译整个tensorflow工程,因为我接下来还打算安装tensorflow,所以想了想,决定重新将cuda和cudnn升级到cuda9.0+cudnn7.0。

2.cuda安装查看:

https://blog.csdn.net/u010801439/article/details/80483036

3.cuda卸载查看:

https://blog.csdn.net/wanzhen4330/article/details/81704474

4.caffe安装过程遇到的BUG

  • protoc

错误:

.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is

#error This file was generated by a newer version of protoc which is
修改:

命令 whereis protoc 可以查看哪些路径下安装了protoc

命令which protoc 可以查看默认选用protoc的路径

命令 protoc --version 可以查看当前protoc版本

选定2.6.1的版本来编译caffe,如果没有2.6.1自行重装一下

https://blog.csdn.net/xocoder/article/details/9155901

https://blog.csdn.net/lwplwf/article/details/76532804

指定protoc的版本可以在 Makefile文件内修改
在Makefile 中修改这两句:
$(Q)protoc --proto_path=$(PROTO_SRC_DIR) --cpp_out=$(PROTO_BUILD_DIR) $<
$(Q)protoc --proto_path=$(PROTO_SRC_DIR) --python_out=$(PY_PROTO_BUILD_DIR) $<

$(Q)/usr/bin/protoc --proto_path=$(PROTO_SRC_DIR) --cpp_out=$(PROTO_BUILD_DIR) $<
$(Q)/usr/bin/protoc --proto_path=$(PROTO_SRC_DIR) --python_out=$(PY_PROTO_BUILD_DIR) $<
即把开头的"protoc"补全路径即可 (/usr/bin/protoc即为自己向指定给的版本路径)

 

  • caffe.pb.g

错误:

fatal error: caffe/proto/caffe.pb.h: 没有那个文件或目录?

修改:

解决方法在/caffe/src/caffe/proto下打开终端输入 protoc --cpp_out=/home/lanxiao/caffe/include/caffe/ caffe.proto

不要忘记要在include/caffe下新建一个proto文件夹,且在文件夹下将caffe.pb.h复制进去。

  • compute_20

错误:

cuda9.0 caffe编译的时候报上述错误

修改:

CUDA_ARCH := #-gencode arch=compute_20,code=sm_20 \
        #-gencode arch=compute_20,code=sm_21 \
        -gencode arch=compute_30,code=sm_30 \
        -gencode arch=compute_35,code=sm_35 \
        -gencode arch=compute_50,code=sm_50 \
        -gencode arch=compute_52,code=sm_52 \
        -gencode arch=compute_60,code=sm_60 \
        -gencode arch=compute_61,code=sm_61 \
        -gencode arch=compute_61,code=compute_61
  • opencv

错误:

cv::imread(cv::String const&, int)’未定义的引用

修改:

在 Makefile文件的最后添加:
  LIBRARIES += glog gflags protobuf leveldb snappy \
  lmdb boost_system boost_filesystem hdf5_hl hdf5 m \
  opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs opencv_videoio

  • 与c++11或gnu++11相关的问题

解决方法:

Makefile 中定位到

##############################
# Configure build
##############################

再找到

# Linux

添加:CXXFLAGS += -std=c++11

这句的作用就是将编译时用到的g++加上编译选项“ -std=c++11”,加上此编译选项后用的就是11标准,不加貌似默认的是98标准

  • make runtest

[==========] 2199 tests from 285 test cases ran. (453917 ms total)
[  PASSED  ] 2197 tests.
[  FAILED  ] 2 tests, listed below:
[  FAILED  ] BatchReindexLayerTest/2.TestGradient, where TypeParam = caffe::GPUDevice<float>
[  FAILED  ] BatchReindexLayerTest/3.TestGradient, where TypeParam = caffe::GPUDevice<double>
 2 FAILED TESTS
Makefile:532: recipe for target 'runtest' failed

make: *** [runtest] Error 1

解决办法:You have to add NVCCFLAG += -G to Makefile and do 

make clean & make all & make test & make runtest

也就是从

# Debugging
ifeq ($(DEBUG), 1)
        COMMON_FLAGS += -DDEBUG -g -O0
        NVCCFLAGS += -G
else
        COMMON_FLAGS += -DNDEBUG -O2
endif

改成

# Debugging
ifeq ($(DEBUG), 1)
        COMMON_FLAGS += -DDEBUG -g -O0
        NVCCFLAGS += -G
else
        COMMON_FLAGS += -DNDEBUG -O2
        NVCCFLAGS += -G
endif
(感谢https://blog.csdn.net/u013848769/article/details/80026602

  • caffe编译报错 cudnn.hpp:127:41: error: too few arguments to function ‘cudnnStatus_t cudnnSetPooling2dDescriptor

  • 这是因为当前版本的caffe的cudnn实现与系统所安装的cudnn的版本不一致引起的。

    解决办法:

    1.将./include/caffe/util/cudnn.hpp 换成最新版的caffe里的cudnn的实现,即相应的cudnn.hpp.

    2. 将./include/caffe/layers里的,所有以cudnn开头的文件,例如cudnn_conv_layer.hpp。   都替换成最新版的caffe里的相应的同名文件。

    3.将./src/caffe/layer里的,所有以cudnn开头的文件,例如cudnn_lrn_layer.cu,cudnn_pooling_layer.cpp,cudnn_sigmoid_layer.cu。

       都替换成最新版的caffe(可以从github上找一个最新的,替换本地的)里的相应的同名文件。

版权声明:本文为qq_36718092原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36718092/article/details/88420296

智能推荐

安装caffe碰到的坑

解决办法是依据出现错误的顺序而给出的,为了方便,可以直接先执行所有解决办法后再安装caffe。 1. ./include/caffe/common.hpp:5:27: fatal error: gflags/gflags.h: No such file or directory 解决办法:sudo apt-get install libgflags-dev 2. ./include/ca...

【Caffe】Mac上Anaconda安装Caffe遇到的各种坑

主要参考安装方法: https://blog.csdn.net/ddreaming/article/details/52739893 https://medium.com/@buffaloal/build-caffe-with-anaconda-on-macos-1070a8d0a9fe https://www.jianshu.com/p/0e5c4944f50c     &n...

入坑caffe之编译安装总结

Makefile.config的设置自己看着来吧, 反正都有提示,路径设置好就行,主要就是HDF5的问题 然后该Makefile文件 后面matlab编译一直不对,搜到的方法是        在Makefile里面,大约第410行那一句话 CXXFLAGS += -MMD -MP 下面添加CXXFLAGS += -std=c++11, 最后是这样 CXXFL...

caffe-ssd 安装+填坑

caffe-ssd 安装+填坑+SSD的focal_loss实现(Ubuntu系统) 安装: 1、安装依赖库 2、下载源码:https://github.com/weiliu89/caffe/tree/ssd 3、修改config文件: 修改各种路径为 修改计算力为: 编译最基础的caffe,在 Makefile.config 中将以下路径添加:(设置临时环境变量) 4、make all -j16...

Mac安装caffe接口--关于protobuf的坑

用到的软件: Anaconda和PyCharm 大体操作步骤: https://segmentfault.com/a/1190000012731554 ,不再赘述。但是到了 make all 这一步总要报和protobuf相关的错,不知道为什么所有安装教程都没有提到这里需要2.5或2.6版本的protobuf,但是anaconda里只有3.7的,所以这里需要重新安装。 给出两种方法: 在Anaco...

猜你喜欢

Ubuntu安装 Caffe(Matlab接口) 爬坑指南

    Caffe官方安装说明:http://caffe.berkeleyvision.org/installation.html#compilation  这个官方指导太学术化,对于我这种小白用户一点都不友好,而且,是个坑。后面会说到的。  安装过程其实比较简单,分为三步:(1)安装Caffe依赖的包;(2)设置和编译Caffe;(3)设置环境变量    ...

机器学习开源框架系列:Caffe:番外篇:CentOS下Caffe安装小坑集锦

深度学习开源框架caffe使用ubuntu进行安装较为顺畅,但是如果是centos则会有些无伤大雅的小问题,本文进行简单整理和总结,并针对目前版本提供一个可用的一键脚本。由于验证机器无N卡,所以此文未包括CUDA和GPU设定相关部分的小坑。 No.1 现象:yum安装时提示:No package xxx available 比如如下信息 原因 在centos中通过yum进行安装,但是一部分包,诸如...

caffe–caffe安装

caffe–caffe安装 初步尝试caffe安装ubuntu16.04下安装cpu版本安装,不包含opencv,python,matlab等,单步调试版本 文章目录 caffe--caffe安装 ubuntu依赖库 caffe源码下载 修改makefile.config和makefile makefile.cofig makefile make ubuntu依赖库 cmake和caf...

centos oracle 安装 踩坑实录 (三:踩坑与填坑大全)

为什么80%的码农都做不了架构师?>>>    1.安装oracle所需要的安装包 当你安装ORACLE的时候,缺依赖,按提示来,或者在下面的列表中自检。 yum -y install binutilscompat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelfelfutils-libelf-deve...

caffe安装

在cuda8。0安装成功后的截图 sudo tar -zxvf /home/ainslee/cudnn-8.0-linux-x64-v5.1.tgz -C /home/ainslee 在cudnn安装成功后出现 opencv 安装成功 在maleficent.conf中去除...