caffe安装--踩坑
安装caffe,需要先安装cuda与cudnn,安装cuda之前,需要先安装nvidia的驱动,然后安装opencv,如果能将opencv踩过,那么安装openpose、caffe,我想都没有多大的问题了。
一、官网下载
git clone https://github.com/weiliu89/caffe.git
二、编译
cd caffe
cp Makefile.config.example Makefile.config
mkdir build
cd build
cmake ..
sudo make //首次编译加-j12 ,最好以一个线程编译,方便找问题--踩坑!
sudo make install
三、基本依赖
与opencv一样,需要什么就安装什么,基本上opencv编译过了,相关的依赖的都已经装好了。
四、错误
1、cmake nvcc fatal : Unsupported gpu architecture 'compute_20
根据百度的解决方案是:
注释相关配置行:
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
转载:https://blog.csdn.net/tjuyanming/article/details/79249964
但是依旧报错,说明仍是存在其他的编译配置:
最后找到caffe/cmake/Cuda.cmake:
1 if(CPU_ONLY)2 return()3 endif()4 5 # Known NVIDIA GPU achitectures Caffe can be compiled for.6 # This list will be used for CUDA_ARCH_NAME = All option7 #set(Caffe_known_gpu_archs "20 21(20) 30 35 50 52 61")8 set(Caffe_known_gpu_archs "30 35 50 52 61")
原文链接:https://blog.csdn.net/fdd096030079/article/details/84451811
2、由于SSD的作者是基于Opencv2.0的环境下写出的SSD源码,而Opencv2和Opencv4的源码又做了比较大的改变,导致编译时会出现像变量没声明的错误,因此需要对以下几个文件进行修改。
错误1:
/src/caffe/layers/video_data_layer.cpp:55:30: error: ‘CV_CAP_PROP_FRAME_COUNT’ was not declared in this scopetotal_frames_ = cap_.get(CV_CAP_PROP_FRAME_COUNT);
解决:
/caffe/src/caffe/layers/video_data_layer.cpp
//加上一个头文件
#include <opencv2/videoio.hpp>
//加上cv命名空间
using namespace cv;
//去掉CV_CAP_PROP_FRAME_COUNT,CV_CAP_PROP_POS_FRAMES前面的CV_
不过建议还是在文件头部进行宏定义:
#define CV_CAP_PROP_FRAME_COUNT CAP_PROP_FRAME_COUNT
#define CV_CAP_PROP_POS_FRAMES CAP_PROP_POS_FRAMES
错误2:
caffe/src/caffe/layers/window_data_layer.cpp:293:42: error: ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scopecv_img = cv::imread(image.first, CV_LOAD_IMAGE_COLOR);
解决:
opencv4里的 CV_LOAD_IMAGE_COLOR 应该使用 cv::IMREAD_COLOR 来代替。同上定义宏,即可。
错误3:
/home/neuron-drop/workspace/caffe/src/caffe/util/bbox_util.cpp:2186:42: error: ‘CV_FILLED’ was not declared in this scopeCV_RGB(255, 255, 255), CV_FILLED);
解决:
/caffe/src/caffe/util/bbox_util.cpp
//修改CV_RGB为cv::Scalar,但应该注意两者的区别,前者为RGB,后者为BGR
//修改CV_FILLED为cv::FILLED
错误4:
caffe/src/caffe/util/bbox_util.cpp:2221:48: error: there are no arguments to ‘CV_FOURCC’ that depend on a template parameter, so a declaration of ‘CV_FOURCC’ must be available [-fpermissive]cv::VideoWriter outputVideo(save_file, CV_FOURCC('D', 'I', 'V', 'X'),
解决:
cv::VideoWriter writer;
// 修改CV_FOURCC为writer.fourcc
错误5:
caffe/src/caffe/util/im_transforms.cpp:246:39: error: ‘CV_BGR2GRAY’ was not declared in this scopecv::cvtColor(in_img, in_img_gray, CV_BGR2GRAY);
解决:
注释掉代码对opencv版本的if判断,并加上以下
#define CV_BGR2HSV cv::COLOR_BGR2HSV
#define CV_HSV2BGR cv::COLOR_HSV2BGR
#define CV_BGR2Lab cv::COLOR_BGR2Lab
错误6:
caffe/src/caffe/util/io.cpp:86:34: error: ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scopeint cv_read_flag = (is_color ? CV_LOAD_IMAGE_COLOR :/home/neuron-drop/workspace/caffe/src/caffe/util/io.cpp:87:5: error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scopeCV_LOAD_IMAGE_GRAYSCALE);
解决:
/home/neuron-drop/workspace/caffe/src/caffe/util/io.cpp
加上
#define CV_LOAD_IMAGE_COLOR cv::IMREAD_COLOR
#define CV_LOAD_IMAGE_GRAYSCALE cv::IMREAD_GRAYSCALE
感兴趣的同学,可以参考opencv4模块的改动:
https://docs.opencv.org/master/d4/da8/group__imgcodecs.html
错误7:
/usr/include/c++/5/bits/c++0x_warning.h:32:2: 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 \^
CMake Error at cuda_compile_1_generated_detection_output_layer.cu.o.Release.cmake:220 (message):Error generating/home/neuron-drop/workspace/caffe/build/src/caffe/CMakeFiles/cuda_compile_1.dir/layers/./cuda_compile_1_generated_detection_output_layer.cu.o
解决:
vim CMakeLists.txt
set(CMAKE_CXX_STANDARD 14)
SET( CMAKE_CXX_FLAGS "-std=c++11 -O3")
五、重新编译
cd build
rm * -rf
cmake ..
sudo make -j12
sudo make install
感谢前人踩坑,提示了我去对应着改动编译代码,否则以我浅薄的C语言知识去解决这个问题怕是遥遥无期了。特此,表示感谢!!
参考:
https://blog.csdn.net/u013915633/article/details/52530130
https://blog.csdn.net/tosonw/article/details/91043145
caffe安装--踩坑相关推荐
- linux配置caffe环境,最全caffe安装踩坑记录(Anaconda,nvidia-docker,linux编译)
多种方式安装caffe 1.Anaconda安装caffe 2.创建虚拟环境(python2.7) conda create -n caffe python=2.7 anaconda 3.安装caff ...
- Android Studio安装踩坑
title: Android Studio安装踩坑 date: 2018-09-07 19:31:32 updated: tags: [Android,Android Studio,坑] descri ...
- anaconda+cuda+cudnn+pytorch安装踩坑大全
windows环境下anaconda+pycharm+cuda+cudnn+pytorch安装踩坑大全 anaconda安装 pycharm安装 cuda cudnn pytorch gym环境安装 ...
- windos下 elasticksearch7.13安装踩坑记
windos下 elasticksearch7.13安装踩坑记 一,环境配置 环境要求 java jdk16下载安装 elasticksearch7.13下载安装 遇到的问题 (待更新) 一,环境配置 ...
- Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇)
Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇) 折腾了两三天总算顺利在电脑上完成了装x的双系统安装,一路走来还比较顺利,主要在ubuntu的显卡设置上躺了 ...
- Windows环境下PyTorch_geometric安装踩坑
Windows环境下PyTorch_geometric安装踩坑 pytorch geometric在windows环境下安装非常恶心,莫名其妙各种报错.本帖针对GCC的编译error提供解决方案. 一 ...
- 坑!mongodb安装踩坑坑坑坑!
MongoDB安装踩坑坑坑坑! 鉴于网上有很多手把手的教程,我就不ctrl cv了,主要说一下我参考了哪些教程以及踩的坑 进官网进了半天进不去,爬了个楼梯才上去 进去之后,迅雷没会员根本下 ...
- YOLO V5 CPU版本安装踩坑记录
YOLO V5 CPU版本安装踩坑记录 单纯的记录下yolov5进行检测遇到了点问题的解决方法 安装过程: 准备: 1,下载YOLOv5 github项目:https://github.com/ult ...
- nnUNet安装踩坑记录
nnUNet安装踩坑记录 论文地址:https://arxiv.org/abs/1809.10486 https://github.com/MIC-DKFZ/nnUNet 更新于2020/12/04: ...
最新文章
- 福利 | “东数西算”这项重大工程,国家全面启动!
- 通过Easy-UI 树插件实现ArcGIS多个服务图层的图层控制
- 为什么说 Flink + AI 值得期待?
- Flask博客开发——Tinymce编辑器
- python selenium 点击开始按钮_使用Selenium和Python单击一个按钮
- wangeditor修改图片上传和视频上传
- 02-方法-课后思考
- oracle财务软件报表,甲骨文推出Oracle 财务管理分析软件
- ORA-14402: 更新分区关键字导致分区的更改
- 帮你轻松理解Commonjs、AMD、CMD、ES6的区别
- 一种可以穿透还原卡和还原软件的代码(转)
- XML中的大于等于小于等于
- centos 发送匿名邮件
- 软件工程——形式化方法概述
- 某宝上关于PMP低价续证,可信吗?
- 多WAN路由器配置 实现简述
- 国家一级计算机等级考试 阴影效果的预设值为内部右上角,全国计算机等级考试一级练习题(1)解析...
- QMidi Pro for mac(好用的卡拉OK播放器)
- 给硬件工程师的入门课-硬件开发流程
- 配置linux使用mail发送邮件到163邮箱