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里配置成功了,赶快试一下吧。
Windows7下caffe-ssd-microsoft下编译的更多相关文章
- centos7.2下caffe的安装及编译
1.前期准备 安装依赖 sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5 ...
- caffe 在window下编译(windows7, cuda8.0,matlab接口编译)
1. 环境:Windows7,Cuda8.0,显卡GTX1080,Matlab2016a,VS2013 (ps:老板说服务器要装windows系统,没办法,又要折腾一番,在VS下编译好像在cuda8. ...
- 64位win10+cuda8.0+vs2013+cuDNN V5下Caffe的编译安装教程并配置matlab2014a 接口
一.需要安装的软件 1)vs2013,我是在http://www.52pojie.cn/thread-492326-1-1.html这个网址安装的.我之前用的是vs2012,按照网上的配置教程会爆各种 ...
- [转]Caffe在Linux下的安装,编译,实验
Caffe在Linux下的安装,编译,实验 原文地址:http://www.cnblogs.com/evansyang/p/6150118.html 第一部分:Caffe 简介 caffe是有伯克利 ...
- Windows下caffe的配置和调用caffe库(一)
一.Windows下caffe的配置: 1. 下载caffe官网提供的开发包,https://github.com/microsoft/caffe 2. 将caffe-master目录下的Window ...
- Windows下caffe安装详解(仅CPU)
本文大多转载自 http://blog.csdn.net/guoyk1990/article/details/52909864,加入部分自己实战心得. 1.环境:windows 7\VS2013 2. ...
- [转]Centos7下caffe的安装
Centos7下caffe的安装 原文地址:http://blog.csdn.net/s2392735818/article/details/49796017 版权声明:本文为博主原创文章,未经博 ...
- 71 mac boook pro 无 gpu 下caffe 安装
71 mac boook pro 无 gpu 下caffe 安装 1.首先安装homebrew工具,相当于Mac下的yum或apt ruby -e "$(curl -fsSL https:/ ...
- [caffe]linux下安装caffe(无cuda)以及python接口
昨天在mac上折腾了一天都没有安装成功,晚上在mac上装了一个ParallelDesktop虚拟机,然后装了linux,十分钟就安装好了,我也是醉了=.= 主要过程稍微记录一下: 1.安装BLAS s ...
- [转]linux14.04下caffe的安装步骤
linux14.04下caffe的安装步骤 原文地址:http://blog.csdn.net/xiaoyang19910623/article/details/52997481?locatio ...
随机推荐
- CAD把一个DWG文件中的多个图框一次性全部插入到打开的DWG文件中
主要用到函数说明: _DMxDrawX::InsertBlock 向控件数据库中插入一个图块,不用它插入匿名块,详细说明如下: 参数 说明 BSTR pszDwgFileName 图块定义的dwg 文 ...
- CAD在网页中绘制批注
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- eclipse常用设置之自动格式化
Eclipse 保存文件时自动格式化代码 很多同学不知道Eclipse有个很有用的功能,就是自动格式源代码的功能,一般大家都是直接Ctrl+Shift+F手动格式化,多浪费时间. 其实Eclips ...
- 考试T1总结(又CE?!)
考试T1CE... 最近不适合考试 T1 扶苏是个喜欢一边听古风歌一边写数学题的人,所以这道题其实是五三原题.歌曲中的主人公看着墙边的海棠花,想起当年他其实和自己沿着墙边种了一排海棠,但是如今都已枯萎 ...
- python合并多个txt文件成为一个文件
#coding=utf-8 import os import os.path #文件夹遍历函数 #获取目标文件夹的路径 filedir = './data/click_data' #获取当前文件夹中的 ...
- Python学习【第4篇】:Python之文件操作
文件操作 读取一行 f=open("D:\\1.txt",'rb') print f.readline() f.close() 将文件内容保存在一个list with open(& ...
- HDU 4027(线段树)
HDU4027 题意:操作指令为0时,对区间[x,y]之间的数字进行开平方:指令为1的时候,对区间[x,y]之间的数字求和并输出: 思路:线段树处理就OK了,但是64位内的数最多开8次平方就为1了(开 ...
- Flask - 特殊装饰器 和 Flask工作结构模式(FBV, CBV)
目录 Flask - 特殊装饰器 和 Flask工作结构模式 @app.errorhandler() @app.before_request @app.after_request FBV和CBV Fl ...
- mongoDB全文索引
相关文章:php使用Coreseek实现全文索引 Introduction Mongo provides some functionality that is useful for text sear ...
- 当前,我们的DJANGO项目的requirements.txt文件
晒一晒,看用得多不多..:) amqp==1.4.7 anyjson==0.3.3 billiard==3.3.0.21 celery==3.1.19 celery-with-redis==3.0 c ...