PSPNet Caffe 编译安装
和Caffe安装流程一样,CUDA,cudnn, OpenCV
网上有很多,请参考实验室巨佬杰作 https://github.com/Mannix1994/SfSNet-Python/blob/master/build-caffe-matlab.md
本人机器 Ubuntu1804 + RTX2080 + NVIDIA-430 + CUDA-10.1 + cudnn7.5 + 自带opencv 3.2 + 自带 python 3.6 编译成功
注意事项
1. OpenCV4默认取消pkgconfig文件夹的生成
遇到一个不相关的问题,opencv4安装的时候,会有个pkgconfig文件夹不存在,可以在cmake的时候加一句
-D OPENCV_GENERATE_PKGCONFIG=YES
参考 https://blog.csdn.net/u013187057/article/details/88806761
2. 编译caffe,自带cudnn版本较低
出现错误
/home/wilson/Soft/PSPNet/include/caffe/common.cuh(9): error: function "atomicAdd(double *, double)" has already been defined
解决方法
打开对应文件夹
// Copyright 2014 George Papandreou#ifndef CAFFE_COMMON_CUH_
#define CAFFE_COMMON_CUH_#include <cuda.h>#if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600#else// CUDA: atomicAdd is not defined for doublesstatic __inline__ __device__ double atomicAdd(double *address, double val) {unsignedlong long int* address_as_ull = (unsigned long long int*)address;unsignedlong longint old = *address_as_ull, assumed;if (val==0.0)return __longlong_as_double(old);do {assumed = old;old = atomicCAS(address_as_ull, assumed, __double_as_longlong(val +__longlong_as_double(assumed)));} while (assumed != old);return __longlong_as_double(old);}#endif
#endif
参考:忘记了
3. 自带版本cudnn较低
出现错误:
/home/wilson/Soft/PSPNet/include/caffe/util/cudnn.hpp(107): error: too few arguments in function call
解决办法:
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里的相应的同名文件。
参考:https://blog.csdn.net/lanseyuansu/article/details/72583045
4. HDF5安装不正确,或者未安装
a.
../lib/libcaffe.so.1.0.0-rc3:对‘H5LTget_dataset_ndims’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘Mat_VarFree’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘H5LTmake_dataset_double’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘H5LTmake_dataset_int’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘H5LTread_dataset_float’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘H5LTmake_dataset_float’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘H5LTread_dataset_double’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘H5LTmake_dataset_string’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘Mat_VarReadDataLinear’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘Mat_Open’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘H5LTread_dataset_int’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘Mat_VarCreate’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘Mat_CreateVer’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘Mat_VarWrite’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘H5LTfind_dataset’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘Mat_VarReadInfo’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘Mat_Close’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘H5LTget_dataset_info’未定义的引用
../lib/libcaffe.so.1.0.0-rc3:对‘H5LTread_dataset_string’未定义的引用
解决办法:
$ gunzip < hdf5-X.Y.Z.tar.gz | tar xf - #解压缩
$ cd hdf5-X.Y.Z
$ ./configure --prefix=/usr/local/hdf5 #安装路径
$ make
$ make check # run test suite.
$ make install
$ make check-install # verify installation.
其中XYZ是版本号
参考:https://blog.csdn.net/luoying_1993/article/details/53228473
b.
In file included from src/caffe/util/hdf5.cpp:1:0:
./include/caffe/util/hdf5.hpp:6:18: 致命错误:hdf5.h:没有那个文件或目录
在你安装完成以后需要将libhdf5-serial-dev的位置添加在你的配置文件中方便他进行编译,我用的系统是ubuntu16,所以我的修改方式如下修改Makefile.config需要修改的内容:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
完成后再次编译
5. error: #error This file requires compiler and library support for the ISO C++ 2011 standard.
Linux系统下解 决make时error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support \
的方法:
在CMakeLists.txt文件里的上方添加
SET( CMAKE_CXX_FLAGS "-std=c++11 -O3")
可以解决这个问题
6. 对‘H5LXXX_dataset_ndims’未定义的引用
/build/lib/libcaffe.so:对‘H5LTget_dataset_ndims’未定义的引用
build/lib/libcaffe.so:对‘H5LTread_dataset_int’未定义的引用
build/lib/libcaffe.so:对‘H5LTfind_dataset’未定义的引用
/build/lib/libcaffe.so:对‘H5LTmake_dataset_double’未定义的引用
/build/lib/libcaffe.so:对‘H5LTmake_dataset_int’未定义的引用
/build/lib/libcaffe.so:对‘H5LTread_dataset_float’未定义的引用
/build/lib/libcaffe.so:对‘H5LTmake_dataset_float’未定义的引用
/build/lib/libcaffe.so:对‘H5LTget_dataset_info’未定义的引用
/build/lib/libcaffe.so:对‘H5LTread_dataset_string’未定义的引用
/build/lib/libcaffe.so:对‘H5LTread_dataset_double’未定义的引用
/build/lib/libcaffe.so:对‘H5LTmake_dataset_string’未定义的引用
解决方法: 打开py-faster-rcnn->caffe-fast-rcnn->cmake->Dependencies.cmake
在文件Dependencies.cmake添加一句,如下:
# ---[ HDF5
find_package(HDF5 COMPONENTS HL REQUIRED)
include_directories(SYSTEM ${HDF5_INCLUDE_DIRS} ${HDF5_HL_INCLUDE_DIR})
list(APPEND Caffe_LINKER_LIBS ${HDF5_LIBRARIES})
list(APPEND Caffe_LINKER_LIBS ${HDF5_HL_LIBRARIES}) #added
原文:https://blog.csdn.net/liuyan20062010/article/details/78258479
7. 如果使用cmake编译时可能会遇到以下错误
../lib/libcaffe.so.1.0.0-rc3: undefined reference to `Mat_VarFree'
../lib/libcaffe.so.1.0.0-rc3: undefined reference to `Mat_VarReadDataLinear'
../lib/libcaffe.so.1.0.0-rc3: undefined reference to `Mat_Open'
../lib/libcaffe.so.1.0.0-rc3: undefined reference to `Mat_VarCreate'
../lib/libcaffe.so.1.0.0-rc3: undefined reference to `Mat_CreateVer'
../lib/libcaffe.so.1.0.0-rc3: undefined reference to `Mat_VarWrite'
../lib/libcaffe.so.1.0.0-rc3: undefined reference to `Mat_VarReadInfo'
../lib/libcaffe.so.1.0.0-rc3: undefined reference to `Mat_Close'
解决方法:
下载FindMATIO.cmake.zip文件,解压缩后拷贝到./cmake/Modules目录中。
文件下载路径:https://github.com/TheLegendAli/DeepLab-Context/files/453735/FindMATIO.cmake.zip
并添加以下代码至./cmake/Dependencies.cmake文件中
find_package(MATIO REQUIRED)
include_directories(${MATIO_INCLUDE_DIR})
list(APPEND Caffe_LINKER_LIBS ${MATIO_LIBRARIES})
8. ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope
/home/wilson/Soft/PSPNet_caffe/PSPNet/src/caffe/layers/window_data_layer.cpp:290:42: error: ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope
cv_img = cv::imread(image.first, CV_LOAD_IMAGE_COLOR);
^~~~~~~~~~~~~~~~~~~
解决方法 try to replace CV_LOAD_IMAGE_COLOR with cv::IMREAD_COLOR
CV_LOAD_IMAGE_GRAYSCALE ---> cv::IMREAD_GRAYSCALE
9. CMake error with "CUDA_cublas_device_LIBRARY"
这个原因在于cuda10的版本更新丢弃了cublas_device,这个问题可以由更新cmake到最新 版本解决。
参考:https://stackoverflow.com/questions/52501760/c
make-error-while-installing-torch-in-ubuntu
10. 错误原因是caffe自带的库和Ubuntu的系统库之间发生了冲突,一言不和就废掉caffe的自带库,使用Ubuntu系统库
/opt/caffe-PSP/bin/caffe: symbol lookup error: /opt/caffe-PSP/bin/caffe: undefined symbol: _ZN5caffe3NetIfEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_5PhaseEPKS1_
可以通过 ldd ./matlab/+caffe/private/caffe_.mexa64 查看其依赖了那些动态库,将其增加到你的 LD_PRELOAD中,见caffe官网 http://caffe.berkeleyvision.org/tutorial/interfaces.html#matlab
这个要视具体目录而定,我这边写了个脚本,如下:
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:/usr/local/cuda-10.1/lib64
参考:https://www.cnblogs.com/laiqun/p/6031925.html
PSPNet Caffe 编译安装相关推荐
- Caffe 编译安装
From: http://caffe.berkeleyvision.org/installation.html 安装 安装前,最好阅读下面的安装指导并注意和你的系统平台相关的细节问题.我们已经在 Ub ...
- Windows+VS2013爆详细Caffe编译安装教程
1. 安装cuda Cuda是英伟达推出的GPU加速运算平台 我这里安装的是cuda7.5,已经安装过的忽略,还没有安装过的这里有安装教程.windows下面安装还是非常简单的. 点击打开链接 ...
- cuda测试caffe编译安装
4. 安装CUDA Sample 及 ATLAS 4.1 Build sample cd /usr/local/cuda/samples sudo make all -j8 我电脑是八核的,所以mak ...
- Ubuntu16.04 Caffe 编译安装步骤记录
历时一周终于在 ubuntu16.04 系统成功安装 caffe 并编译,网上有很多教程,但是某些步骤并没有讲解详尽,导致配置过程总是出现各种各样匪夷所思的问题,尤其对于新手而言更是欲哭无泪,在我饱受 ...
- Ubuntu16.04+Cuda9.1+Cudnn7.5+Anaconda3(Python3.6)+opencv3.4.1+caffe编译安装(多坑已排!)
我第一次装ubuntu16.04的时候由于是小白,分区的时候分的不合理,所以空间不够用了,索性重装了一次,装ubuntu16.04双系统这里不再赘述,可参考文章 https://blog.csdn.n ...
- linux下caffe-gpu的编译安装
服务器的环境 Ubuntu18.04, python3.6 CUDA 10.0, cuDNN 7.6.3 opencv3.4.6 查看cuda和cudnn版本 nvcc -V cat /usr/loc ...
- Elam的caffe笔记之配置篇(一):CentOS6.5编译安装gcc4.8.2
配置要求: 系统:centos6.5 目标:基于CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6接口的caffe框架 gcc是linux编译安装必备的编译器 CentOS6. ...
- caffe-yolov3:编译安装报错:fatal error: caffe/caffe.hpp: No such file or directory
在编译caffe-yolov3时报错: fatal error: caffe/caffe.hpp: No such file or directory 查看CMakeLists.txt时,看到引用库路 ...
- ubuntu MNN编译安装
[MNN学习一]基于Linux的MNN编译安装,模型转换以及benchmark测试 目录 一. MNN编译安装 (MNN编译) 二. 编译模型转换工具MNNConvert (MNNConvert) 三 ...
最新文章
- 注意:阿里Druid连接池监控的两个坑
- ProjectManagement::Redmine备份与恢复
- JDK1.8 JVM元数据区取代了永久代,元数据空间并不在虚拟机中,而是使用本地内存
- docker mysql数据库初始化_如何在Mysql的Docker容器启动时初始化数据库
- 漫步数理统计十——连续随机变量(上)
- 【评测机】评测时报错cc1plus: fatal error: /xx/xx/main.cpp: Permission denied compilation terminated.的解决方法...
- 计算机全键在线使用说明书,笔记本电脑键盘介绍图,笔记本键盘全部按键功能介绍说明-系统城...
- C语言入夏标志,[二级C语言程序设计.docx
- 网页编程 table 表格设计 css
- Android PowerManagerService简单分析
- 5G/NR中RRC的三种状态(idle, active, inactive)
- 16种常用的数据分析方法-因子分析
- STM32F4移植EMWIN(RA8875驱动显示屏)
- 连载:中国最早的一代官派留学生--留美幼童 (12)
- 计算机存储程序错误检验,内存错误怎么办?内存错误的修复与检测方法介绍
- 「KLAYswap升级」Klaytn圣诞送好礼,Kakao专属礼品大放送!
- 简单的数据库关系表建立
- 2021湖南邵阳高考成绩查询,2021邵阳学院录取分数线,邵阳学院高考分数线查询入口...
- Element UI - v-infinite-scroll无限滚动组件
- libwebsocket 编译mini demo时遇到require lws_config