1.前言

之前在win10上成功的跑起来faster-rcnn的实验,并且跑了一下CaltechPedestrian的数据集,但是效果一直不理想,折腾了好久也没弄清楚到底原因出在哪里,直到读了Is Faster R-CNN Doing Well for Pedestrian Detection? 这片文章之后才明白了具体的问题出在哪里,于是就想跑一下文章中的实验。原本实验的源代码作者只在Ubuntu上面跑过,并没有在win上跑过,但是他的代码都是基于任少卿的matlab代码修改的,于是我就想在win上应该也能跑通。于是我就试了一下,没想到竟然卡在了编译external上面。

caffe_library用的依然是任少卿作者给的(https://pan.baidu.com/s/1hqGojnI),RPN+BF的源码是在GitHub上面下载的,按照我之前的博客写的方法去编译,竟然没通过,当时报了个错误,是关于caffe.pb.h文件版本的问题,也没闹明白是怎么回事,上网百度了一下,初步诊断是因为caffe_library的第三方库中protobuf的版本过低,网上说使用protobuf2.6.1版本可以,但是后来我一顿折腾,包括重装系统,重搭环境,也是行不通,转移到Ubuntu下也因为其他原因行不通,没有办法就又回到了win7上,又经过一顿瞎折腾,终于闹明白了是什么问题了。。。

2.编译RPN+BF所需要的external文件

2.1分析源码文件

首先,caffe_library是这样的

可以看到它其中有一个文件夹叫做 protobuf_compiler-2.6 ,那么这个文件夹是干什么用的呢?为此我特地研究了一下protobuf的相关知识。可以这样说,caffe.pb.h和caffe.pb.cc是由图中画框的两个文件生成的,我们可以看一下 protoc.cmd 中的代码就明白了,如下图:

2.2生成自己需要的caffe.pb.h和caffe.pb.cc

既然编译的时候报的错是关于这两个文件的,那么肯定要在这两个文件上面着手去解决问题了,当时一直以为是protobuf的版本问题,搞了好久,最后使用了protobuf2.6.1虽然编译通过了,但是编译出来的文件却不能用,别提多心酸了。。。那么原因到底是出在了哪里呢?当我打开下图目录中的caffe.vcxproj这个文件的时候,明白了自己问题的结症所在了。                                                                                              

首先说一下 .vcxproj 文件的作用,.vcxproj 文件管理着VS solution的相关配置,仔细看一下这个文件的内容,你就会发现它里面的信息都是solution的相关配置信息,包括编译平台,库目录,包含目录等等信息都保存在这个里面,所以我通过它确定了,protobuf的版本是没有错误的,用的就是protobuf2.6.0版本的。那么,问题就只可能出现在一个地方了,那就caffe.proto 这个文件。关于这个文件的更多信息可以去网上百度,这里并不做细说。在caffe-RPN_BF这个文件夹里搜索一下 caffe.proto ,找到了它是存放在.\caffe-RPN_BF\src\caffe\proto 中的,于是我们把它取出来,放在 protobuf_compiler-2.6 文件夹中,替换掉原来的 caffe.proto 文件,运行protoc.cmd,来重新生成caffe.pb.h和caffe.pb.cc这两个文件。

那为什么不用protobuf_compiler-2.6 文件夹中原本存在的 caffe.proto 呢?你可以比较一下,因为它竟然和.\caffe-RPN_BF\src\caffe\proto 中的 caffe.proto 是不一样的。。。真是无话可说,并不太懂是为什么。。。

3.重新编译

然后把新生成的两个文件分拷贝到 caffRPN_BF\include\caffe\proto 和 caffe-RPN_BF\src\caffe\proto 中,替换掉原来的文件。再重新进行编译,具体的编译过程可以参考我之前的博客,经 过测试,可以顺利通过编译。

转载于:https://www.cnblogs.com/maitre-zhao/p/6811402.html

在win7上跑基于任少卿作者代码修改的RPN+BF实验相关推荐

  1. 基于zio编写PWN代码

    目录 预备知识 一.CTF PWN基础知识 二.zio简介 1.导入zio库 2.与远程服务器建立网络连接 3.从远程服务器读取数据 4.向远程服务器发送数据 5.与服务器建立shell交互 三.pi ...

  2. 基于Tusimple数据集在windows cpu上跑通车道线检测算法LSTR

    基于Tusimple数据集在windows cpu上跑通车道线检测算法LSTR PS:基于CULane数据集在windows cpu上跑通车道线检测算法LSTR参考: https://blog.csd ...

  3. 【githubshare】基于 C 语言编写的一款 2D 太空射击游戏,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试

    基于 C 语言编写的一款 2D 太空射击游戏:space-shooter.c,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试. GitHub:github.com ...

  4. 在M1芯片上跑原生Linux:编译速度比macOS还快40%,真香警告

    Alex 发自 凹非寺 量子位 | 公众号 QbitAI 现在,M1 Mac可以顺利运行原生Linux了. 专为苹果自研芯片打造的Asahi Linux项目,Alpha版本已经释出. 在Mac采用英特 ...

  5. elf section类型_在 498 行极小 OS 上跑标准 ELF 程序

    本文首发于 在 498 行极小系统跑标准 ELF 程序 简介 ELF 在 Linux 系统中作为标准可执行文件格式已经存在了 ~25 年. 如果要在 Linux 下直接研究 ELF,通常很难绕过 Li ...

  6. Win7上Git安装及配置过程 [转]

    文档名称 Win7上Git安装及配置过程 创建时间 2012/8/20 修改时间 2012/8/20 创建人 Baifx 简介(收获) 1.在win7上安装msysgit步骤: 2.在win7上安装T ...

  7. 清华学霸组团的工业 AIoT 创企再获数千万融资:玩家应推动在边缘 AI 芯片上跑算法...

    记者 | 夕颜 采访嘉宾 | 马君,湃方科技联合创始人&总裁 出品 | CSDN(ID:CSDNnews) 「AI技术生态论」 人物访谈栏目是CSDN发起的百万人学AI倡议下的重要组成部分.通 ...

  8. 阿里云推出首个数据库云上跑分平台,背后是什么逻辑?

    关于蚂蚁金服自研数据库OceanBase登顶TPC-C测试的讨论还没有停止.昨天,阿里云正式推出国内首个云端数据库测试平台,提供和OceanBase打榜TPC-C时完全一致的云资源,及相关工具. 蚂蚁 ...

  9. 苹果的移动设备上跑flash

    frash项目的目的只有一个:在苹果的移动设备上跑flash,这是基于adobe公司为android平台推出的flash player进行的移植. 1970-1-1 08:00:00 上传 下载附件 ...

  10. 如何在云服务器上跑深度学习的代码?(ResNet50为例)

    ✅ 个人简介:南京邮电大学,计算机科学与技术,在读本科 兴趣领域:数据结构.C/C++ 文章目录 一.选择一款云服务器 二.上传代码和数据 三.解压"代码和数据的压缩包" 四.训练 ...

最新文章

  1. LVS三种工作模式介绍对比和十种调度算法介绍
  2. 原来,王兴是理想汽车的「二当家」!股份只比李想少1.6%丨理想汽车招股书
  3. 互联网人,天生就是送外卖的料!
  4. 10.15 wget:命令行下载工具
  5. isOnSyncQueue
  6. 计算机发送到桌面快捷方式,windows7添加到桌面快捷方式无故消失!
  7. android 头像球_Android一行代码实现圆形头像
  8. Elementary Methods in Number Theory Exercise 1.2.31
  9. 数据结构之图的存储结构一及其实现
  10. PhotoSwipe异步动态加载图片
  11. 卷盘商标复卷检测系统
  12. uiautomator使用中文参数
  13. CentOS 6.5 安装 Python3
  14. Oracle 性能诊断艺术 第四章 笔记
  15. 话说地址栏的URL的最大长度
  16. 屏幕取词技术实现原理
  17. 联想计算机如何设置bios密码,联想bios网络管理员密码的设置方法
  18. 二阶齐次线性微分方程的通解公式_二阶常系数齐次线性微分方程通解
  19. 双网卡双线路DNS解析分析(转)
  20. TCP编程-端口扫描器

热门文章

  1. H5网站接入Paypal支付接口
  2. hi3519开发流程
  3. 关于MD5和salt盐值加密后破解方法
  4. C# 计算农历日期方法 2022
  5. elasticsearch使用中文拼音混合搜索的痛点解决
  6. 桥牌笔记:机会最多的打法
  7. 小程序列表页制作优惠券效果
  8. 关于腾讯云搭建代理服务器的详细过程
  9. Typora配置阿里云图床详细教程(PicGo+阿里云OSS)
  10. delphi技巧--分离汉字和英文字母