我一开始安装的是cuda9.1,后来发现tensorflow目前较大支持到cuda9.0,不支持cuda9.1。如果用cuda9.1需要自己编译整个tensorflow工程,因为我接下来还打算安装tensorflow,所以想了想,决定重新将cuda和cudnn升级到cuda9.0+cudnn7.0。
https://blog.csdn.net/u010801439/article/details/80483036
https://blog.csdn.net/wanzhen4330/article/details/81704474
错误:
.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即为自己向指定给的版本路径)
错误:
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复制进去。
错误:
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
错误:
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
解决方法:
Makefile 中定位到
##############################
# Configure build
##############################
再找到
# Linux
添加:CXXFLAGS += -std=c++11
这句的作用就是将编译时用到的g++加上编译选项“ -std=c++11”,加上此编译选项后用的就是11标准,不加貌似默认的是98标准
[==========] 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实现与系统所安装的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上找一个最新的,替换本地的)里的相应的同名文件。
解决办法是依据出现错误的顺序而给出的,为了方便,可以直接先执行所有解决办法后再安装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...
主要参考安装方法: 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...
Makefile.config的设置自己看着来吧, 反正都有提示,路径设置好就行,主要就是HDF5的问题 然后该Makefile文件 后面matlab编译一直不对,搜到的方法是 在Makefile里面,大约第410行那一句话 CXXFLAGS += -MMD -MP 下面添加CXXFLAGS += -std=c++11, 最后是这样 CXXFL...
caffe-ssd 安装+填坑+SSD的focal_loss实现(Ubuntu系统) 安装: 1、安装依赖库 2、下载源码:https://github.com/weiliu89/caffe/tree/ssd 3、修改config文件: 修改各种路径为 修改计算力为: 编译最基础的caffe,在 Makefile.config 中将以下路径添加:(设置临时环境变量) 4、make all -j16...
用到的软件: Anaconda和PyCharm 大体操作步骤: https://segmentfault.com/a/1190000012731554 ,不再赘述。但是到了 make all 这一步总要报和protobuf相关的错,不知道为什么所有安装教程都没有提到这里需要2.5或2.6版本的protobuf,但是anaconda里只有3.7的,所以这里需要重新安装。 给出两种方法: 在Anaco...
Caffe官方安装说明:http://caffe.berkeleyvision.org/installation.html#compilation 这个官方指导太学术化,对于我这种小白用户一点都不友好,而且,是个坑。后面会说到的。 安装过程其实比较简单,分为三步:(1)安装Caffe依赖的包;(2)设置和编译Caffe;(3)设置环境变量 ...
深度学习开源框架caffe使用ubuntu进行安装较为顺畅,但是如果是centos则会有些无伤大雅的小问题,本文进行简单整理和总结,并针对目前版本提供一个可用的一键脚本。由于验证机器无N卡,所以此文未包括CUDA和GPU设定相关部分的小坑。 No.1 现象:yum安装时提示:No package xxx available 比如如下信息 原因 在centos中通过yum进行安装,但是一部分包,诸如...
caffe–caffe安装 初步尝试caffe安装ubuntu16.04下安装cpu版本安装,不包含opencv,python,matlab等,单步调试版本 文章目录 caffe--caffe安装 ubuntu依赖库 caffe源码下载 修改makefile.config和makefile makefile.cofig makefile make ubuntu依赖库 cmake和caf...
为什么80%的码农都做不了架构师?>>> 1.安装oracle所需要的安装包 当你安装ORACLE的时候,缺依赖,按提示来,或者在下面的列表中自检。 yum -y install binutilscompat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelfelfutils-libelf-deve...
在cuda8。0安装成功后的截图 sudo tar -zxvf /home/ainslee/cudnn-8.0-linux-x64-v5.1.tgz -C /home/ainslee 在cudnn安装成功后出现 opencv 安装成功 在maleficent.conf中去除...