GitHub项目地址,https://github.com/endernewton/tf-faster-rcnn
Tensorflow Faster RCNN for Object Detection.

本机环境:

  • Mac: 10.13.4 无GPU
  • python: 3.5
  • tensorflow: 1.11.0
1
git clone https://github.com/endernewton/tf-faster-rcnn.git

2. 修改代码为CPU Only

①修改./lib/setup.py
注释掉第55、87、120-136行与cuda、GPU相关的代码



②./lib/model/nms_wrapper.py
注释掉第12、20-21行

3. 在./lib目录下建立Cython模块

清除上一次编译产生的可执行文件(.pyc、.so)

1
make clean

若不报错则编译成功。会生成.so文件、“pycache”下的.pyc文件

1
make 

返回上一级

1
cd ..

4. 在 ./data 下安装Python COCO API

1
2
3
4
git clone https://github.com/pdollar/coco.git
cd coco/PythonAPI
make
cd ../../..

5. 下载数据

setup VOC and COCO datasets (Part of COCO is done)

1
2
3
4
5
6
7
8
9
10
11
12大专栏  TensorFlow_Faster_RCNN中demo.py的运行(CPU Only)pan>
13
14
cd ./data

wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar # 解压到./data/VOCdevkit/下
tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar # 创建软链接
ln -s VOCdevkit VOCdevkit2007

完成以上步骤后,data文件夹下新增2个文件夹:

  • VOCdevkit(包含文件夹VOCcode、VOC2007及一些其他文件)
  • VOCdevkit2007 (软链接,点击后跳转至./data/VOCdevkit/)

6. 下载预训练模型

./data/scripts/下的.sh文件中的URL无法访问,可以通过作者提供的Google Drive下载。
选择res101中的voc_0712_80k-110k.tgz,下载到./data中。

7. 建立预训练模型的软链接

1
2
3
4
5
6
NET=res101
TRAIN_IMDB=voc_2007_trainval+voc_2012_trainval
mkdir -p output/${NET}/${TRAIN_IMDB}
cd output/${NET}/${TRAIN_IMDB}
ln -s ../../../data/voc_2007_trainval+voc_2012_trainval ./default
cd ../../..

这6行代码的功能为:
①建立文件夹NewDir = ./output/res101/voc_2007_trainval+voc_2012_trainval/
②在新建文件夹的 ${NewDir}/default 中链接下载的预训练模型,即./data/voc_2007_trainval+voc_2012_trainval 中的4个参数文件
这时,点击./output/vgg16/coco_2014_train+coco_2014_valminusminival/default可以跳转至./data/coco_2014_train+coco_2014_valminusminival 的4个参数文件

8. 运行./tools/demo.py

对./data/demo下的图片进行检测


得到图片的主要对象及置信概率:

TensorFlow_Faster_RCNN中demo.py的运行(CPU Only)的更多相关文章

  1. 如何在Windows下用cpu模式跑通py-faster-rcnn 的demo.py

    关键字:Windows.cpu模式.Python.faster-rcnn.demo.py 声明:本篇blog暂时未经二次实践验证,主要以本人第一次配置过程的经验写成.计划在7月底回家去电脑城借台机子试 ...

  2. Windows下用cpu模式跑通目标检测py-faster-rcnn 的demo.py

    关键字:Windows.cpu模式.Python.faster-rcnn.demo.py 声明:原文发表在博客园,未经允许不得转载!!!本篇blog过程已经多名读者实践验证,有人反馈报错TypeErr ...

  3. Mediapipe 在RK3399PRO上的初探(一)(编译、运行CPU和GPU Demo, RK OpenglES 填坑,编译bazel)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  4. WaxPatch中demo注意问题

    问题一 https://github.com/mmin18/WaxPatch网址中提供的demo是可以运行,但是存在一个问题,如果把patch.zip换成自己的并且上传到自己的服务器(github), ...

  5. 如何在Linux中查看所有正在运行的进程

    如何在Linux中查看所有正在运行的进程 FROM:http://os.51cto.com/art/201101/244090.htm 进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系 ...

  6. python中__init__.py文件的作用

    问题 在执行models.py时,报ImportError:No module named transwarp.db的错误,但明明transwarp下就有db.py文件,路径也没有错误.真是想不通.后 ...

  7. python3 module中__init__.py的需要注意的地方

    网上关于__init__.py的作用的资料到处都是,我在此就不再啰嗦哪些了. 若有需要.请各位看官去搜搜即可. 最近刚开始用Python3 就遇到了这个比较有意思的事情 闲言少叙,下面要介绍的是pyt ...

  8. python中执行py文件出错(提示File “<stdin>”,line 1,SyntaxError:invalid syntax)

    解决办法: 上图中已通过输入python进入了python运行环境,出现>>>时候的不能再用python z.py 来运行hello.py文件: 应该通过exit()退出当前pyth ...

  9. python3 计算文件夹中所有py文件里面代码行数,注释行数,空行数

    import os,re #代码所在位置 FILE_PATH = './' def analyze_code(codefilesource): ''' 打开一个py文件统计其中的代码行数,包括空格和注 ...

随机推荐

  1. CodeForces 992B Nastya Studies Informatics + Hankson的趣味题(gcd、lcm)

    http://codeforces.com/problemset/problem/992/B  题意: 给你区间[l,r]和x,y 问你区间中有多少个数对 (a,b) 使得 gcd(a,b)=x lc ...

  2. 3. 监控利器nagios手把手企业级实战第二部

    1. 编辑hosts.cfg增加被监控的主机[root@nagios etc]# cat objects/hosts.cfg define host{        use               ...

  3. R 画地图

    R 绘制中国省市分布地图 library(maps) library(mapdata) library(maptools); getColor=function(mapdata,provname,pr ...

  4. tomcat高并发配置

    最近在项目中负责Tomcat高并发优化方案写一写新得. 优化1)tomcat默认的并发是75,可以启用线程池根据生产环境硬件设定线程池大小. <Executor name="tomca ...

  5. pytorch函数之nn.Linear

    class torch.nn.Linear(in_features,out_features,bias = True )[来源] 对传入数据应用线性变换:y = A x+ b 参数: in_featu ...

  6. 17)C++开始--命名空间

    命名空间:就是区分同一个名字,在不同的作用域的变量 代码展示 #include<iostream> namespace spaceA{ ; namespace spaceB{ struct ...

  7. 39)PHP,选取数据库中的两列

    首先是我的文件关系: 我的b.php是主php文件,BBB.php是配置文件,login.html是显示文件, b.php文件代码: <?php /** * Created by PhpStor ...

  8. RDD(四)——transformation_key_value类型

    这里所有算子均只适用于pairRDD.pairRDD的数据类型是(k,v)形式的键值对: PartitionBy(Partitioner) 对pairRDD进行分区操作,如果原有的partioner和 ...

  9. mysql 子查询不支持limit

    mysql执行如下语句 : SELECT * FROM `xxx_base_info` where yn =1 and xxx_keeper_id in (SELECT id FROM `user`w ...

  10. vim模式及基础命令

    VIM基本介绍vi和在修改vim命令是linux中强大的文本编辑器,由于linux系统一切皆文件,而配置一个服务就是在修改其配置文件的参数vim其实是vi的升级版yum install -y vim ...