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

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. linux 的sed命令解释 sed ':t;N;s/\n/,/;b t' 将换行符换成逗号

    linux 的sed命令解释 sed ':t;N;s/\n/,/;b t' 将换行符换成逗号 实现的功能是吧换行符换成逗号了,自己试验过. 求解释,:t N b t 都是什么意思??? :t 定义la ...

  2. mapbox-gl 使用ArcGISServer 发布的栅格切片

    最近使用mapbox 进行数据化展现.刚好用到了超图平台在去三维系统,顺带就用超图平台发布了栅格切片,用来做底图,但是超图平台是试用的许可,栅格切片有SuperMap 的水印,实在不雅观. 在网上搜索 ...

  3. 使用python的几个小经验(查看文档)

    好久没有水博客了,未来再过20天不到的时间又得参加软考,今天终于得好好水一发帖子 关于Python,很多人包括我之前都不知道怎么找文档,现在有一个好办法,就是在命令行模式下调用pydoc –p xxx ...

  4. uva 12108 Extraordinarily Tired Students (UVA - 12108)

    算法完全转载...原博客(https://blog.csdn.net/u014800748/article/details/38407087) 题目简单叙述 题目就是一堆学生他们有清醒的时候和昏迷的时 ...

  5. Problem 56

    Problem 56 https://projecteuler.net/problem=56 Powerful digit sum A googol (10100) is a massive numb ...

  6. Python time & random模块

    time模块 三种时间表示 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp) :         通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的 ...

  7. 洛谷 2387 NOI2014魔法森林 LCT

    [题解] 我们先把边按照$a$值从小到大排序,并按照这个顺序加边. 如果当前要加入的边连接的两点$u$与$v$已经是连通的,那么直接加入这条边就会出现环.这时我们需要删除这个环中$b$值最大的边.因此 ...

  8. 9.2 Socket编程

    远程管理软件和黑客软件大多依赖于Socket来实现特定功能,前几年流行的端口反弹更是把这项技术发挥到了极致. 如前所述,UDP和TCP是网络体系结构的传输层运行的两大重要协议,其中,TCP适用于对效率 ...

  9. 《hello-world》第八次团队作业:Alpha冲刺-Scrum Meeting 4

    项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 <hello--worl ...

  10. 一个电商项目的Web服务化改造5:面向服务的分层架构设计(有图有真相)

    最近一直在做一个电商项目,需要把原有单系统架构的项目,改造成基于服务的架构,SOA.     有点挑战,做完了,会有很大进步. 本篇,以我亲自画的3个图,阐述一下架构设计.   一.分层架构-总体图 ...