Windows7下caffe-ssd-microsoft下编译
整个编译可谓漫长 编译了两天 网上教程也很多 但是也很杂 遇到各种错误 总归是编完了
1、下载Windows版本的Caffe-SSD源码
下载链接:https://github.com/conner99/caffe,选择ssd-microsoft 分支;
2、编译caffe
1)、打开caffe-ssd-microsoft文件夹,然后看到一个windows文件夹,然后继续打开windows文件夹,看到里面一个CommonSettings.props.example文件,复制出来一份,并改名字为CommonSettings.props;
2)、修改CommonSettings.props文件,选择gpu或是cpu以及cuda版本,这里选择的是GPU编译和Cuda7.5;
3、编译问题解决
1)、设置libcaffe为启动项,进行编译,报错:与boost相关的regex正则表达式库出现问题,在项目中我们不需要正则表达式,所以将相关语句注释掉即可;
解决方法:
进入项libcaffe中,进入detection_output_layer.hpp中,将与regex相关头文件注释掉;
进入detection_output_layer.cpp文件,将所有出现regex和rv的语句注释掉;
进入detection_output_layer.cu文件,将所有出现regex和rv的语句注释掉;
2)、编译工程,报错:expected an identifier in caffe.pb.h;
解决方法:修改bbox_util.cu,注释掉所有带thrust的语句;
3)、编译工程,报错:找不到”.\caffe\3rdparty\hungarian.h”文件;
编译工程,报错:找不到”.\src\caffe\3rdparty\hungarian.cpp”文件;
解决方法:
在路径.\caffe-master\include\caffe\3rdparty\下添加hungarian.h文件;
在路径.\caffe-master\src\caffe\3rdparty\下添加hungarian.cpp文件;
在这里找这个文件,链接:http://pan.baidu.com/s/1mhYuf7y 密码:3jp2;
接下來這個一定要改,不改的話會反覆出現類似於:error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\bin\nvcc.exe" ....等錯誤。我本人在此被坑幾天,頭髮都掉了一地,哎。這裏的解決辦法是在detection_output_layer.cu,detection_output_layer.cpp兩個文檔中註釋掉所有出現的regex和rv的語句;然後再detection_output_layer.hpp中將語句#include <boost/regex.hpp>註釋掉。
此外,在libcaffe項目下的bbox_util.cu文檔,註釋掉thrust相關的內容,如下所示: //#include "thrust/functional.h" //#include "thrust/sort.h"
.....
//thrust::sort_by_key(&confidence[0],&confidence[0]+num_remain,&idx[0],
//thrurst::greater<Dtype>());*/
5 上面的執行完畢之後,恭喜你基本上可以生成libcaffe、caffe.exe文檔,先編譯libcaffe,再caffe(一般都是Release下)。
另外我还遇到了
protobuf版本冲突的问题,如下:
- In file included from .build_release/src/caffe/proto/caffe.pb.cc:5:0:
- .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
- ^
- .build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
- #error incompatible with your Protocol Buffer headers. Please update
- ^
- .build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
- #error your headers.
- ^
- ...
这个问题的出现是因为我们在安装caffe之前,安装Anaconda或tensorflow时都已经安装过libprotobuf,所以解决冲突的方法是使用以下命令
即可解决。
该解决方案来源于https://stackoverflow.com/questions/36678292/caffe-error-with-protobuf-version
全都编译完了 可以看下目录应该有这些 exe
SSD测试:
新建ssd_detect.bat文件,运行;
ssd_detect.bat文件内容:
(1)ssd_detect.exe路径;
(2)model_file路径,即deploy.prototxt;
(3)weights_file路径,即XXX.caffemodel;
(4)test.txt图片路径,将图片的绝对路径写入test.txt中;
(5)–file_type image,此处还可以进行video检测,可自行看源码修改;
(6)–confidence_threshold 0.5;
注意release和X64等配置,接下来是pycaffe的编译,步骤也同上,
我遇到了错误 no module named _caffe
先把 F:\caffe-ssd\Build\x64\Release\pycaffe里的caffe复制到F:\caffe-ssd\python里 替代原有的caffe
再把F:caffe-ssd\Build\x64\Release\pycaffe下的caffe文件夹复制到Anaconda2\Lib\site-packages文件夹下
类似下图
6.在pycharm中测试一下,可能会出现No module named google.protobuf.internal的问题。
解决方法:下载protobuf的两个文件(地址:https://github.com/google/protobuf/releases/tag/v3.0.0),一个是protoc-3.0.0-win32.zip,一个是Source code (zip)
解压缩,将protoc-3.0.0-win32\bin\protoc.exe 拷贝进入protobuf-3.0.0源代码文件夹下src文件夹里,进入protobuf-3.0.0源代码文件夹下python文件夹,按住shift右击选择“在此处打开命令窗口”,执行 python setup.py build 、执行 python setup.py install
这时caffe已经在pycharm里配置成功了,赶快试一下吧。
转载于:https://www.cnblogs.com/is-Tina/p/8762858.html
Windows7下caffe-ssd-microsoft下编译相关推荐
- 64位win10+cuda8.0+vs2013+cuDNN V5下Caffe的编译安装教程并配置matlab2014a 接口
一.需要安装的软件 1)vs2013,我是在http://www.52pojie.cn/thread-492326-1-1.html这个网址安装的.我之前用的是vs2012,按照网上的配置教程会爆各种 ...
- Windows7下Caffe的应用---在Win7下使用VS2015、Camke、Anaconda3配置Caffe CPU版本
前言 1.之前一直在Linux使用Caffe做机器学习的相关的项目,相对于Linux,在Windows配置Caffe相对麻烦一些,我这里使用Cmake gui版本,适合新手操作. 2.我配置的环境是w ...
- windows7下使用mingw和msys编译JEPG源代码
windows7下使用mingw和msys编译JPEG源代码 首先下载JPEG源代码 下载安装MSYS2和mingw 下载make 编译JPEG-8a 首先下载JPEG源代码 http://www.i ...
- windows7+visual studio 2013+CUDA7.5 编译caffe+配置matcaffe+配置pycaffe
经过朋友指导,终于成功在windows7上成功编译了caffe,这里将编译过程记录 安装文件准备 1 visual studio 2013安装包下载 2 CUDA75 optional 3 windo ...
- Windows下使用SSD检测
先来一波文章 SSD是一个单一的网络对象检测的统一框架.你可以使用代码来训练/评估一个用于目标检测任务的网络.http://arxiv.org/abs/1512.02325 再来一波代码https:/ ...
- windows下caffe+CPUOnly实现MNIST手写分类
工具下载 微软官方移植的Caffe:https://github.com/Microsoft/caffe 对属性表的操作 需要把实例属性表的后缀改成vs可用的.props 打开同一个文件夹下的Caff ...
- caffe SSD 代码编译运行流程及问题解决
caffe SSD 代码编译运行流程及问题解决 该文基于以下代码: https://github.com/weiliu89/caffe/tree/ssd down下来后,进入目录 -rw-rw-r-- ...
- 71 mac boook pro 无 gpu 下caffe 安装
71 mac boook pro 无 gpu 下caffe 安装 1.首先安装homebrew工具,相当于Mac下的yum或apt ruby -e "$(curl -fsSL https:/ ...
- caffe之mac下环境搭建
参考 http://www.linuxidc.com/Linux/2016-09/135026.html 1. 安装brew,也叫homebrew,mac下类似于ubuntu的apt-get功能 cu ...
- linux编译redis打包,linux下下载redis,并且编译
1:下载.解压.编译 $ wget http://download.redis.io/releases/redis-3.0.6.tar.gz $ tar xzf redis-3.0.6.tar.gz ...
最新文章
- DBA入门之路:由浅入深的总结学习法
- PHP多进程编程初步
- POJ 1410 Intersection 判断线段交和点在矩形内 【计算几何】
- Android AIDL使用介绍(1)基本使用
- ui原型设计工具_UI设计师的工具包,用于专业模型,原型和产品插图
- Codeforces Round #741 (Div. 2) E. Rescue Niwen! 字符串 + dp
- 西北工业大学计算机毕业论文,西北工业大学硕士论文开题报告应注意的事项
- linux查看tcp络连接日志,Linux监控TCP连接数并触发日志记录
- Linux 内核 5.4 将于 11月24 日 发布,Linux 5.4-rc8 已可用于公测
- 关于SQL中的两个问题的理解
- Android -- Exif
- 博科BROCADE交换机开启snmp服务
- VMware ESXi下载和安装
- html超链接本地文件为什么打不开,为什么word文件的本地超链接打不开呢
- cytoscape插件下载_Cytoscape软件下载
- 执FPGA异构计算之耳
- 如何实现GPRS 拨号上网?
- python实现外星人入侵——3.事件分析
- CPP头文件中不应包含using声明
- 03 一个计算器,switch语句
热门文章
- SQLite学习笔记(三)--创建内存数据库
- 将两个DataTable合并成一个DataTable
- B/S、C/S双客户类型系统研究
- 【MyBatis笔记】13-一对多左连接查询分步查询(查询所有客户及客户对应的订单)
- 一图讲解一条sql语句的一生——《收获,不止Oracle》的读书笔记01
- springboot国际化04
- Vmvare三种网络连接方式:桥接模式、NAT模式和HostOnly模式
- matlab makesurf,matlab制作GIF之hello world
- 软件工程导论 05章总体设计
- python调用TensorFlow时报错:FutureWarning: Passing (type, 1) or ‘1type‘ as a synonym of type is deprecated