Windows下如何使用Tensorflow Object Detection API

如果大家会使用Linux系统,就在Linux下安装TensorFlow吧,比Windows下配置环境简单多了,而且一般玩深度学习,都在Linux环境下。本文只介绍在Windows下如何配置TensorFlow和使用Object Detection API。

1 环境需要

  • Windows系统
  • Python 3.X
  • CUDA Toolkit 8与 cuDNN V6 (记住一定要用CUDA 8 和cuDNN V6 版本,其他版本我是没有跑通)
  • Object Detection 模型下载
  • protoc
  • 依赖库:Protobuf 2.6 / Pillow 1.0 / lxml /Jupyter notebook / Matplotlib/ Tensorflow

2 安装步骤

此处不介绍 Python 环境的安装步骤,如有需要,自行查之。

2.1 CUDA Toolkit 8与 cuDNN V6

用gpu来运行Tensorflow还需要配置CUDA和cuDnn库,
2.1.1  用以下link下载win10(64bit)版本CUDA安装包,大小约为1.2G              https://developer.nvidia.com/cuda-downloads

安装cuda_8.0.61_win10.exe,完成后配置系统变量,在系统变量中的CUDA_PATH中,加上三个路径, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0(一般安装完,安装程序都会自动添加完系统环境变量)


2.1.2 用以下link下载cuDnn库  https://developer.nvidia.com/cudnn

下载解压后,为了在运行tensorflow的时候也能将这个库加载进去,我们要将解压后的文件拷到CUDA对应的文件夹下C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

2.2 Object Detection 模型下载

从github上下载模型,下载地址:https://github.com/tensorflow/models 
(下载的文件名为:models-master.zip) 


解压文件到磁盘指定目录,我的是E:\Tensorflow\ObjectDetection,重命名为models

(此包内包括各种内容,我们所用到的object_detection文件夹在E:\Tensorflow\ObjectDet

ection\models\research文件夹下)


2.3 protoc安装与编译

https://github.com/google/protobuf/releases下载win版的工具,即:protoc-3.4.0-win32.zip,
解压到E:\Tensorflow\ObjectDetection目录下,生成:bin, include两个文件夹。
将bin文件夹中的【protoc.exe】放到C:\Windows\System32文件夹下,在E:\Tensorflow\Object
Detection\models\research文件夹下按住shift点击鼠标右键,打开命令窗口,输入protoc显示如下内
容就说明可以开始编译了。
Protobuf 编译,用protoc可执行文件编译目录object_detection/protos下的proto文件,生成Pyth
on文件。
  1. protoc object_detection/protos/*.proto --python_out=.  

我们可以看见.proto文件已经被编译为了.py文件。

2.3 依赖库下载

在Python安装文件里Scripts文件下,运行运行如下命令:
# For CPU
pip install tensorflow
# For GPU
pip install tensorflow-gpu
pip install pillow
pip install lxml
pip install jupyter
pip install matplotlib

3 运行Demo

  用命令行 打开jupyter notebook进行测试


打开官方提供的文件:object_detection_tutorial.ipynb运行demo


在cell中选择runAll,正常的话稍等一会儿就会有结果



运行大部分时间都是用来下载模型的,此demo不需要驯良数据,模型是训练好的,运行大概需要10分钟左右。

运行结果:


4 修改模型,运行自己数据

Speed表示速度,COCO mAP表示在COCO数据集上的平均准确率,第一个ssd_mobilenet就是我们默认使用的pre-train模型 

# What model to download.
MODEL_NAME = 'ssd_mobilenet_v1_coco_11_06_2017'
#MODEL_NAME = 'faster_rcnn_resnet101_coco_11_06_2017'
#MODEL_NAME = 'ssd_inception_v2_coco_11_06_2017'
MODEL_FILE = MODEL_NAME + '.tar.gz'
DOWNLOAD_BASE = 'http://download.tensorflow.org/models/object_detection/'
# For the sake of simplicity we will use only 2 images:
# image1.jpg
# image2.jpg
# If you want to test the code with your images, just add path to the images to the TEST_IMAGE_PATHS.
PATH_TO_TEST_IMAGES_DIR = 'test_images'
TEST_IMAGE_PATHS = [ os.path.join(PATH_TO_TEST_IMAGES_DIR, 'image{}.jpg'.format(i)) for i in range(1, 3) ]
在此处修改模型和数据。
运行结果:


faster_rcnn_resnet101_coco 模型:

ssd_mobilenet_v1_coco 模型:

ssd_inception_v2_coco 模型:
























评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值