TensorFlow object detection api------ssd_mobilenet使用
谷歌发布object detection api(https://github.com/tensorflow/models)已经有一段时间了,这个api的发布,让我们不用自己再去为faster-rcnn、ssd、rfcn单独造轮子了。
现记录一下以ssd_mobilenet这个模型的object detection api使用。
一、安装TensorFlow、以及用到的库
按照官方指导操作即可:https://github.com/tensorflow/models/blob/master/object_detection/g3doc/installation.md。
二、下载models、ssd_mobilenet_v1_coco
下载地址:https://github.com/tensorflow/models、https://github.com/tensorflow/models/blob/master/object_detection/g3doc/detection_model_zoo.md
1、解压后,进入models目录,执行:
protoc object_detection/protos/*.proto --python_out=.
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
2、解压ssd_mobilenet_v1_coco_11_06_2017.tar.gz到,得到:frozen_inference_graph.pb graph.pbtxt model.ckpt.data-00000-of-00001 model.ckpt.index model.ckpt.meta,
二、准备数据集
1、使用将Pascal voc格式的数据集转换成record格式,即生成train.record、eval.record,参考models/object_detection/create_pascal_tf_record.py
2、创建工程目录:
+SSD_MOBILENET
+data
-label_map file(根据models/object_detection/ models/object_detection/data/pascal_label_map.pbtxt来修改)
-train TFRecord file(即生成的train.record)
-eval TFRecord file(即生成的eval.record)
-model.ckpt(将解压ssd_mobilenet_v1_coco_11_06_2017.tar.gz得到的model.ckpt.data-00000-of-00001重命名为mode.ckpt)
-model.ckpt.index(解压ssd_mobilenet_v1_coco_11_06_2017.tar.gz得到)
-model.ckpt.meta(解压ssd_mobilenet_v1_coco_11_06_2017.tar.gz得到)
+models
+ model
-pipeline config file(根据models/object_detection/samples/configs/ssd_mobilenet_v1_pets.config来修改,具体到下面说明)
+train
+eval
3、进入models目录执行:
python object_detection/train.py \
--logtostderr \
--pipeline_config_path=${PATH_TO_YOUR_PIPELINE_CONFIG} \
--train_dir=${PATH_TO_TRAIN_DIR}
开始训练。
其中:PATH_TO_YOUR_PIPELINE_CONFIG为SSD_MOBILENET/models/model/pipeline config file,PATH_TO_TRAIN_DIR为SSD_MOBILENET/models/model/train
关于pipeline config file内容修改如下:
第9行:num_classes:,你数据集有几类就改成几类
第158行:fine_tune_checkpoint: "PATH_TO_BE_CONFIGURED/model.ckpt",即SSD_MOBILENET/data/model.ckpt
第177行:input_path: "PATH_TO_BE_CONFIGURED/pet_train.record",即SSD_MOBILENET/data/train.record
第179行:label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt",即SSD_MOBILENET/data/label_map file
第191行:input_path: "PATH_TO_BE_CONFIGURED/pet_val.record",即SSD_MOBILENET/data/eval.record
第193行:label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt",即SSD_MOBILENET/data/label_map file
第183行:num_examples: ,eval有多少张就改成多少张
TensorFlow object detection api------ssd_mobilenet使用相关推荐
- Tensorflow object detection API 搭建物体识别模型
----------------------------------------------------先把别人博客教程跑通-------------------------------------- ...
- ubunu16.04 TensorFlow object detection API 应用配置
TensorFlow object detection API应用–配置 主要参考 : https://github.com/tensorflow/models/blob/master/researc ...
- 谷歌开放的TensorFlow Object Detection API 效果如何?对业界有什么影响
? 谷歌开放了一个 Object Detection API: Supercharge your C 写个简单的科普帖吧. 熟悉TensorFlow的人都知道,tf在Github上的主页是:tenso ...
- tensorflow object detection API训练错误解决
问题描述 tensorflow object detection API训练coco数据集时提示错误:Windows fatal exception: access violation,如下图: Th ...
- 如何在windows系统上安装Tensorflow Object Detection API?
前言 都说Linux是最适合程序员使用的操作系统,这话还真不假. 之前一直在云服务器上跑代码,近期接手了师兄的台式机(GTX 1050),虽然配置很渣,但想在本地玩玩看,于是乎先安装一波Tensorf ...
- 测试TensorFlow Object Detection API
安装Object Detection API http://blog.csdn.net/chenhaifeng2016/article/details/74115168 Jupyter支持Tensor ...
- Tensorflow Object detection API 在 Windows10 配置
Tensorflow Object detection API 在 Windows10 下的配置不如在 Ubuntu 下配置方便,但还是有方法的,介绍一下我的配置流程. 官方目标检测的demo中调用了 ...
- Tensorflow object detection API 搭建自己的目标检测模型并迁移到Android上
参考链接:https://blog.csdn.net/dy_guox/article/details/79111949 之前参考上述一系列博客在Windows10下面成功运行了TensorFlow A ...
- ssd目标检测训练自己的数据_目标检测Tensorflow object detection API之训练自己的数据集...
构建自己的模型之前,推荐先跑一下Tensorflow object detection API的demo JustDoIT:目标检测Tensorflow object detection APIzh ...
- 关于使用tensorflow object detection API训练自己的模型-补充部分(代码,数据标注工具,训练数据,测试数据)
之前分享过关于tensorflow object detection API训练自己的模型的几篇博客,后面有人陆续碰到一些问题,问到了我解决方法.所以在这里补充点大家可能用到的东西.声明一下,本人专业 ...
最新文章
- Qt 编译一直死循环问题
- poj 1270(toposort)
- C#面向对象设计模式纵横谈——6.Prototype 原型模式(创建型模式)
- APP不显示GPU过度渲染的问题
- 《scikit-learn》数据标准化与SVM之SVC
- zookeeper启动失败
- python判断字符串出现的次数_【如何判断python字符串出现次数?这几种方法你一定要学会】- 环球网校...
- 数域、有限域(伽罗瓦域)
- codeforces 题解
- 背包那些经典的例子( 上 )
- 【转载】日志等级及使用情形
- wandb 导入环境变量问题
- 埃拉托色尼筛选法计算素数个数
- AnyDesk(远程控制软件) 免费版,比Teamviewer好用
- springboot2.7.X+es8 集成开发
- elemntui icon 大小_vue-elementui 引入第三方iconfont图标 并使用彩色icon
- 系统架构师设计培训心得之二——架构设计
- 关于芯片之争,你需要知道这些本质
- 计算机视觉相关综述整理
- 如何解决数据关联查询
热门文章
- ubuntu卸载_ROS入门笔记(二):ROS安装与环境配置及卸载(重点)
- 编程计算1+2+3+4+...+n的值超过500的和的第一个值
- display: inline-block;下增加overflow:hidden;产生高度问题
- Maven中的profile和spring boot中的profile进行结合
- ansible部署tomcat及 include机制
- 登白云嶂,银屏嘴游记
- Discriminative Modeling vs Generative Modeling
- Oracle 表空间 创建参数 说明
- 中国国产万亿次高性能计算机向产业化迈进
- java非阻塞 串口读数据_串口阻塞与非阻塞