整个编译可谓漫长 编译了两天 网上教程也很多 但是也很杂 遇到各种错误 总归是编完了

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版本冲突的问题,如下:

  1. In file included from .build_release/src/caffe/proto/caffe.pb.cc:5:0:
  2. .build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
  3. #error This file was generated by a newer version of protoc which is
  4. ^
  5. .build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
  6. #error incompatible with your Protocol Buffer headers.  Please update
  7. ^
  8. .build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
  9. #error your headers.
  10. ^
  11. ...

这个问题的出现是因为我们在安装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下编译的更多相关文章

  1. centos7.2下caffe的安装及编译

    1.前期准备 安装依赖 sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5 ...

  2. caffe 在window下编译(windows7, cuda8.0,matlab接口编译)

    1. 环境:Windows7,Cuda8.0,显卡GTX1080,Matlab2016a,VS2013 (ps:老板说服务器要装windows系统,没办法,又要折腾一番,在VS下编译好像在cuda8. ...

  3. 64位win10+cuda8.0+vs2013+cuDNN V5下Caffe的编译安装教程并配置matlab2014a 接口

    一.需要安装的软件 1)vs2013,我是在http://www.52pojie.cn/thread-492326-1-1.html这个网址安装的.我之前用的是vs2012,按照网上的配置教程会爆各种 ...

  4. [转]Caffe在Linux下的安装,编译,实验

    Caffe在Linux下的安装,编译,实验  原文地址:http://www.cnblogs.com/evansyang/p/6150118.html 第一部分:Caffe 简介 caffe是有伯克利 ...

  5. Windows下caffe的配置和调用caffe库(一)

    一.Windows下caffe的配置: 1. 下载caffe官网提供的开发包,https://github.com/microsoft/caffe 2. 将caffe-master目录下的Window ...

  6. Windows下caffe安装详解(仅CPU)

    本文大多转载自 http://blog.csdn.net/guoyk1990/article/details/52909864,加入部分自己实战心得. 1.环境:windows 7\VS2013 2. ...

  7. [转]Centos7下caffe的安装

    Centos7下caffe的安装 原文地址:http://blog.csdn.net/s2392735818/article/details/49796017   版权声明:本文为博主原创文章,未经博 ...

  8. 71 mac boook pro 无 gpu 下caffe 安装

    71 mac boook pro 无 gpu 下caffe 安装 1.首先安装homebrew工具,相当于Mac下的yum或apt ruby -e "$(curl -fsSL https:/ ...

  9. [caffe]linux下安装caffe(无cuda)以及python接口

    昨天在mac上折腾了一天都没有安装成功,晚上在mac上装了一个ParallelDesktop虚拟机,然后装了linux,十分钟就安装好了,我也是醉了=.= 主要过程稍微记录一下: 1.安装BLAS s ...

  10. [转]linux14.04下caffe的安装步骤

     linux14.04下caffe的安装步骤   原文地址:http://blog.csdn.net/xiaoyang19910623/article/details/52997481?locatio ...

随机推荐

  1. Typescript编译设置

    TypeScript MSBuild编译选项,用记事本打开工程文件,进行修改,如<TypeScriptGeneratesDeclarations>true</TypeScriptGe ...

  2. B.3 字典

    在框架中,字典的选择要比列表少得多.只有三个主流的非并发 IDictionary<TKey, TValue> 实现,此外还有 ExpandoObject (第14章已介绍过). Concu ...

  3. NSE入门--nmap 脚本基础

  4. hdu 5176 The Experience of Love

    The Experience of Love  Accepts: 11  Submissions: 108  Time Limit: 4000/2000 MS (Java/Others)  Memor ...

  5. 5 pandas模块,DataFrame类

              DataFrame       DataFrame是一个[表格型]的数据结构,可以看作是[由Series组成的字典](共用同一个索引).DataFrame由一定顺序排列的多列数据组 ...

  6. Django——7 常用的查询 常用的模型字段类型 Field的常用参数 表关系的实现

    Django 常用的查询 常用的查询方法 常用的查询条件 常用字段映射关系 Field常用参数 表关系的实现 查用的查询方法 这是需要用到的数据 from django.http import Htt ...

  7. Jzzhu and Numbers

    Jzzhu and Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  8. 洛谷 P2155 BZOJ 2186 codevs 2301 [SDOI2008]沙拉公主的困惑

    题目描述 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现在所有真钞票的 ...

  9. noip模拟赛 可耻

    题目描述 给定一个长度为偶数的排列 p,你每次可以选取 p 排列中相邻的两个元素,假如分别是 x 和 y,那 么把 x 和 y 加入一个序列 q 的末尾,并将 x 和 y 从排列 p 中删除.重复上述 ...

  10. Windows超级卸载工具Total Uninstaller,能完全卸载.NET Framework

    https://github.com/tsasioglu/Total-Uninstaller