py怎么运行_Mac Tensorflow Faster R-CNN CPU实现环境配置及Demo运行

53903773c332ecd199878d2dbfbc201f.png

一. 环境准备:

Macbook pro 2016 python 2.7 Anaconda2

Code Source:

endernewton/tf-faster-rcnn​github.com
6f3a0291f0114eab179ebba4c880efae.png
  1. 创建环境:打开Terminal, 创建一个新环境,可随意命名,名称跟在--name后面,版本python 2.7
conda create --name TC python=2.7

2. 激活TC环境

conda activate -TC

此时Terminal命令行前面有TC标志

3. 安装所需要的库,pip或者conda install + 库名

pip install tensorflow
pip install easydict
pip install matplotlib
pip install cython
pip install opencv-python
pip install pillow

二. 修改配置,使适用于CPU

  1. 下载Github源码:想下载到哪里,就在Terminal中cd到那个位置,在下载
git clone https://github.com/endernewton/tf-faster-rcnn.git

2. 修改配置

a) 打开⁨ tf-faster-rcnn-master⁩ / ⁨lib⁩ / setup.py ,在这里设置CPU和GPU参数, 本文选用CPU运行。

注释第55行

# CUDA = locate_cuda()

注释第87行

# self.set_executable('compiler_so', CUDA['nvcc'])

注释第120-136行

# Extension('nms.gpu_nms',
    #     ['nms/nms_kernel.cu', 'nms/gpu_nms.pyx'],
    #     library_dirs=[CUDA['lib64']],
    #     libraries=['cudart'],
    #     language='c++',
    #     runtime_library_dirs=[CUDA['lib64']],
    #     # this syntax is specific to this build system
    #     # we're only going to use certain compiler args with nvcc and not with gcc
    #     # the implementation of this trick is in customize_compiler() below
    #     extra_compile_args={'gcc': ["-Wno-unused-function"],
    #                         'nvcc': ['-arch=sm_52',
    #                                  '--ptxas-options=-v',
    #                                  '-c',
    #                                  '--compiler-options',
    #                                  "'-fPIC'"]},
    #     include_dirs = [numpy_include, CUDA['include']]
    # )

b) 打开 ⁨tf-faster-rcnn-master⁩ / ⁨lib⁩ / model⁩ / config.py ,把269行__C.USE_GPU_NMS = True改为__C.USE_GPU_NMS = False

__C.USE_GPU_NMS = False

c) 打开tf-faster-rcnn-master⁩ / ⁨lib⁩ / model / nms_wrapper.py,注释掉12行

from model.config import cfg
# from nms.gpu_nms import gpu_nms
from nms.cpu_nms import cpu_nms

注释第20 21行

if dets.shape[0] == 0:
    return []
#if cfg.USE_GPU_NMS and not force_cpu:
    #return gpu_nms(dets, thresh, device_id=0)
else:
    return cpu_nms(dets, thresh)

三. 编译环境,安装数据库

  1. 在Terminal中cd到tf-faster-rcnn-master⁩ / ⁨lib目录下,运行以下命令编译环境:
make clean
make
cd ..

返回tf-faster-rcnn-master⁩主目录

2. 安装Python COCO API,使用COCO数据库,运行以下命令

cd data
git clone https://github.com/pdollar/coco.git
cd coco/PythonAPI
make
cd ../../..

四. 运行Demo并测试Pre-trained模型

  1. 模型:voc_0712_80k-110k.tgz

下载链接:

Google Drive ---

https://drive.google.com/open?id=0B1_fAEgxdnvJVjFjTFl5cFd5cEk​drive.google.com

百度云 ---

https://pan.baidu.com/s/1kWkF3fT​pan.baidu.com

下载完成后,解压得到voc_2007_trainval+voc_2012_trainval文件夹,将其移动到⁨tf-faster-rcnn-master⁩ / data下。

在Terminal中cd到⁨tf-faster-rcnn-master⁩ / data目录下,并创建pre-trained模型的soft link,运行以下命令:

NET=res101
TRAIN_IMDB=voc_2007_trainval+voc_2012_trainval
mkdir -p output/${NET}/${TRAIN_IMDB}

cd output/${NET}/${TRAIN_IMDB}
ln -s ../../../voc_2007_trainval+voc_2012_trainval ./default
cd ../../..

运行前三条命令,新建一个目录:tf-faster-rcnn/data/output/res101/voc_2007_trainval+voc_2012_trainval

运行第四条命令,Terminal进入voc_2007_trainval+voc_2012_trainval文件夹

运行第五条命令,产生一个文件名为default的快捷方式文件,打开会链接到四个模型文件

d6cce46557e93cc34bfda6da22bee964.png

运行最后一条命令,Terminal回到data目录下

2. 修改并运行Demo

打开demo.py, 修改第120行的路径:把刚刚data里的output文件夹拖入Terminal,复制你自己的完整路径并修改。

tfmodel = os.path.join('/Users/Desktop/tf-faster-rcnn/data/output', demonet, DATASETS[dataset][0], 'default',
                              NETS[demonet][0])

运行demo

../tools/demo.py

运行结果:

f9ea958e9892b385a2a889542e2ed760.png

预测结果图像(部分):

b6291239d3907a677fb9121a91c84492.png

acb93e0746dea4d6b3d2a8ff304aa5b4.png

fab4d9352ebe2f9493d992a9ecea3da3.png

34b710597664f12ae45cdcaf2c89e410.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值