tensorflow object detection API 使用记录1

目录:

开始熟悉API的使用

简介

安装就不用说了
首先介绍一下配置文件的格式,我是参照官方给的API配置说明记录的:API配置
目标检测API是使用protobuf配置训练评估的过程,配置文件可以看作分为5个部分:

  1. model:决定你用什么样的模型
  2. train_config: 训练的参数
  3. eval_config: 决定评估时用什么样的指标
  4. train_input_config: 训练数据
  5. eval_input_config: 测试数据

所以要使用这个API,首先我们就要将这5个部分按照这样的格式写好
当然,在object detection文件夹中提供了一些已经写好的配置文件,可供我们直接使用:locate: object_detection/samples/configs
接下来,我们就按照github上的例程来使用


第一步:准备数据

参照github,这里使用VOC2007数据为例子,使用object_detection/samples/configs下已经定义好的配置文件,我使用的是faster_rcnn_resnet101_voc07.config

打开这个配置文件,可以看到简介的1\2\3部分已经帮我们写好了,我们需要提供的仅仅是4\5的数据部分,可以看到我们需要提供相应的input_pathlabel_map_path,这两者分别代表原始数据的TFrecord文件,以及数据的标签名和id的对应关系的文件

1. 得到TFrecord文件

由于tensorflow处理数据要转成TFrecord的格式,所以我们的数据要转成它的格式,官网给出了转换的代码:
在object detection目录下运行即可:

转换训练部分的数据:

python create_pascal_tf_record.py \
--data_dir='/home/data/VOC2007train' \
--year=VOC2007 \ 
--set=train \ 
--output_path='/home/data/pascal_train.record'

转换测试部分的数据:

python create_pascal_tf_record.py \ 
--data_dir='/home/data/VOC2007train' \ 
--year=VOC2007 \ 
--set=val \ 
--output_path='/home/data/pascal_val.record'

data_dir就是我们下载好的VOC数据的路径,output_path就是我们存放tfrecord文件的地方啦

2. 得到映射关系的文件
可以在object_detection/data路径下看到为我们提供了一些文件,这些文件后缀为.pbtxt,里面有VOC数据的映射文件,所以就直接拿过来用啦

最后总结一下,数据准备部分需要做如下几步:

  • 下载好数据
  • 将数据准换成TFrecord的形式
  • 提供数据相关的.pbtxt(类别名和id number的映射关系)
  • 将这些文件信息写到配置文件中去

第二步:训练模型

配置文件的数据部分写完了之后,理论上是可以开始训练了,我们可以看一下训练的配置部分,也就是简介上说的2/
里面有一个要注意的是:
fine_tune_checkpoint: “PATH_TO_BE_CONFIGURED/model.ckpt”
这一个地方可以提供预训练的权重,有这样的模型文件的话可以让我们的训练过程更快,官方也提供了一些预训练好的模型

同样,官方提供了训练部分相应的代码,如下,以我的为例:

# From the tensorflow/models/ directory
python object_detection/train.py \
--logtostder \
--pipeline_config_path=/***/faster_rcnn_resnet101/faster_rcnn_resnet101_voc07.config \
--train_dir=/***/train

pipeline_config_path 为我们使用的model配置文件
train_dir自己设定的在训练过程中记录模型的文件夹
\ 代表换行


第三步:评估

评估部分和训练部分一样,官方也提供了代码,这里用到的就是配置文件中的5/啦
代码如下:

python object_detection/eval.py \
--logtostderr \
--pipeline_config_path=/***/faster_rcnn_resnet101_voc07.config \
--checkpoint_dir=/***/train \
--eval_dir=/***/test

同样的,eval_dir就是自己设定的存放评估时做记录的路径
checkpoint_dir就是训练的时候的模型记录的路径即train_dir


总结:

细节等等,以及还有一些没记录清楚的或者说错了,最好就是去官方github官方github上看啦,第一次写博客,感觉略辛苦,哈哈,今天就写这些了,希望很容易遗忘的东西以及需要记下来的东西,经过记录,下次再看的时候很快就记起来,共勉。

TensorFlow Object Detection API 是一个开源项目,它提供了一系列基于 TensorFlow 的工具和库,用于实现目标检测任务。对于 macOS 系统,我们可以通过以下步骤来使用 TensorFlow Object Detection API: 1. 安装 TensorFlow:在 macOS 上安装 TensorFlow使用 TensorFlow Object Detection API 的前提。你可以通过 pip 命令进行安装,例如在终端中执行 `pip install tensorflow`。 2. 下载 TensorFlow Object Detection API:打开终端并导航到适合你的工作目录中,然后使用 git 命令来克隆 TensorFlow Object Detection API 的 GitHub 仓库,例如执行 `git clone https://github.com/tensorflow/models.git`。 3. 安装依赖项:进入克隆的模型目录中,找到 research 文件夹并进入。然后运行 `pip install -r object_detection/requirements.txt` 命令来安装所需的依赖项。 4. 下载预训练模型:在 TensorFlow Object Detection API 中,我们可以使用训练的模型来进行目标检测。你可以从 TensorFlow Model Zoo 中下载适合你任务的模型,并将其解压到你的工作目录中。 5. 运行实例代码:在 research/object_detection 目录中,你可以找到一些示例代码,用于训练、评估和使用目标检测模型。可以通过阅读这些示例代码并根据自己的需求进行修改。例如,你可以使用 `python object_detection/builders/model_builder_tf2_test.py` 命令来运行一个模型的测试。 以上是在 macOS 上使用 TensorFlow Object Detection API 的基本步骤,你可以根据你的具体需求进行更多的深入研究和调整。希望这些信息能帮助到你!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值