在win7上跑基于任少卿作者代码修改的RPN+BF实验
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实验相关推荐
- 基于zio编写PWN代码
目录 预备知识 一.CTF PWN基础知识 二.zio简介 1.导入zio库 2.与远程服务器建立网络连接 3.从远程服务器读取数据 4.向远程服务器发送数据 5.与服务器建立shell交互 三.pi ...
- 基于Tusimple数据集在windows cpu上跑通车道线检测算法LSTR
基于Tusimple数据集在windows cpu上跑通车道线检测算法LSTR PS:基于CULane数据集在windows cpu上跑通车道线检测算法LSTR参考: https://blog.csd ...
- 【githubshare】基于 C 语言编写的一款 2D 太空射击游戏,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试
基于 C 语言编写的一款 2D 太空射击游戏:space-shooter.c,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试. GitHub:github.com ...
- 在M1芯片上跑原生Linux:编译速度比macOS还快40%,真香警告
Alex 发自 凹非寺 量子位 | 公众号 QbitAI 现在,M1 Mac可以顺利运行原生Linux了. 专为苹果自研芯片打造的Asahi Linux项目,Alpha版本已经释出. 在Mac采用英特 ...
- elf section类型_在 498 行极小 OS 上跑标准 ELF 程序
本文首发于 在 498 行极小系统跑标准 ELF 程序 简介 ELF 在 Linux 系统中作为标准可执行文件格式已经存在了 ~25 年. 如果要在 Linux 下直接研究 ELF,通常很难绕过 Li ...
- Win7上Git安装及配置过程 [转]
文档名称 Win7上Git安装及配置过程 创建时间 2012/8/20 修改时间 2012/8/20 创建人 Baifx 简介(收获) 1.在win7上安装msysgit步骤: 2.在win7上安装T ...
- 清华学霸组团的工业 AIoT 创企再获数千万融资:玩家应推动在边缘 AI 芯片上跑算法...
记者 | 夕颜 采访嘉宾 | 马君,湃方科技联合创始人&总裁 出品 | CSDN(ID:CSDNnews) 「AI技术生态论」 人物访谈栏目是CSDN发起的百万人学AI倡议下的重要组成部分.通 ...
- 阿里云推出首个数据库云上跑分平台,背后是什么逻辑?
关于蚂蚁金服自研数据库OceanBase登顶TPC-C测试的讨论还没有停止.昨天,阿里云正式推出国内首个云端数据库测试平台,提供和OceanBase打榜TPC-C时完全一致的云资源,及相关工具. 蚂蚁 ...
- 苹果的移动设备上跑flash
frash项目的目的只有一个:在苹果的移动设备上跑flash,这是基于adobe公司为android平台推出的flash player进行的移植. 1970-1-1 08:00:00 上传 下载附件 ...
- 如何在云服务器上跑深度学习的代码?(ResNet50为例)
✅ 个人简介:南京邮电大学,计算机科学与技术,在读本科 兴趣领域:数据结构.C/C++ 文章目录 一.选择一款云服务器 二.上传代码和数据 三.解压"代码和数据的压缩包" 四.训练 ...
最新文章
- LVS三种工作模式介绍对比和十种调度算法介绍
- 原来,王兴是理想汽车的「二当家」!股份只比李想少1.6%丨理想汽车招股书
- 互联网人,天生就是送外卖的料!
- 10.15 wget:命令行下载工具
- isOnSyncQueue
- 计算机发送到桌面快捷方式,windows7添加到桌面快捷方式无故消失!
- android 头像球_Android一行代码实现圆形头像
- Elementary Methods in Number Theory Exercise 1.2.31
- 数据结构之图的存储结构一及其实现
- PhotoSwipe异步动态加载图片
- 卷盘商标复卷检测系统
- uiautomator使用中文参数
- CentOS 6.5 安装 Python3
- Oracle 性能诊断艺术 第四章 笔记
- 话说地址栏的URL的最大长度
- 屏幕取词技术实现原理
- 联想计算机如何设置bios密码,联想bios网络管理员密码的设置方法
- 二阶齐次线性微分方程的通解公式_二阶常系数齐次线性微分方程通解
- 双网卡双线路DNS解析分析(转)
- TCP编程-端口扫描器