TensorFlow Object Detection API 技术手册(6)——模型文件配置及模型训练


这一节我们开始准备模型配置文件

(一)创建模型目录

在任意位置创建新文件夹:(/model_raccoon_detection),并在该目录下创建以下新文件夹:

命 名作 用
training存放训练配置文件
data(内含train和test两个文件夹)存放训练数据和测试数据
result存放训练结果
saved_model存放训练好的模型

创建完了文件夹,将之前做好的数据文件存储在(/data/train)和(/data/test)下,因为我们只做了一个训练文件,所以将其重命名暂时当做测试文件,然后我们开始准备训练文件。

(二)准备预训练模型

GitHub/TensorFlow/model下载各种预训练模型,表中列出了模型的速度、平均精度均值等数据,读者可自行选择,此处我们选择ssd_mobilenet_v1_coco模型,下载完成后解压到(/model_raccoon_detection)并重命名为(/pre_model),如下图所示:
在这里插入图片描述

(三)创建标签分类的配置文件

在(/model_raccoon_detection/training/)新建txt文件,键入以下内容:

item{
    id: 1 # id从1开始编号
    name: 'raccoon'
}

有几类后面就要补写几个item,此处只用写入1类
item{
id: n
name: ‘***’
}
重命名为label_map.pbtxt,如图所示:
在这里插入图片描述

(四)配置管道配置文件

在(/object_detection/samples/configs/)下找到ssd_mobilenet_v1_coco.config文件:
在这里插入图片描述
根据下载的预训练模型的不同,就要选择不同的config文件,接下来对该文件进行修改:
首先添加ckpt文件的位置(建议填写绝对路径):
在这里插入图片描述
在这里插入图片描述
添加测试数据的位置以及标签配置文件的位置(建议填写绝对路径):
在这里插入图片描述
对批处理数、迭代次数等其他参数进行修改:
在这里插入图片描述
在这里插入图片描述
还可以对学习率等其他参数进行详细修改,在此不再赘述,注意batch_size等参数的设定要和训练数据的数量等相匹配

(五)添加model_main.py等文件

在(/research/object_detection)下找到model_main.py、export_inference_graph.py文件,将其复制到(/model_raccoon_detection/)目录下。打开model_train.py文件,加入下列语句以调用GPU:
在这里插入图片描述
在CMD中输入以下命令:

>>>nvida-smi

以查看GPU编号,无法使用该命令时需要在环境变量path中添加(C:\Program Files\NVIDIA Corporation\NVSMI):
在这里插入图片描述

(六)查看工程目录

使用PyCharm打开(/model_raccoon_detection/),如下图所示:
在这里插入图片描述

(七)开始训练

打开Anaconda Prompt,输入以下命令(注意相对路径和绝对路径):

>>>python /model_raccoon_detection/model_train.py  
--train_dir=/model_raccoon_detection/result 
--pipeline_config_path=/model_raccoon_detection/training/ssd_mobilenet_v1_coco.config

等待文件运行,出现下列显示:
在这里插入图片描述
可以按Ctrl+C随时终止训练。

(八)保存训练的模型

打开Anaconda Prompt,输入以下命令(注意相对路径和绝对路径):

>>>python export_inference_graph.py 
--input_type=image_tensor  
--pipeline_config_path=/model_raccoon_detection/training/ssd_mobilenet_v1_coco.config  
--trained_checkpoint_prefix=/model_raccoon_detection/result/model.ckpt-200(此处的编号与你的训练次数相同)  
--output_directory=/model_raccoon_detection/saved_model

显示:
在这里插入图片描述
可以看到文件夹下生成了文件:
在这里插入图片描述

(九)使用tensorboard查看训练情况:

打开Anaconda Prompt,输入以下命令(注意相对路径和绝对路径):

>>>/存放位置/tensorboard.exe --logdir=/model_raccoon_detection/result

(十)使用训练好的模型来预测单张图像

打开TensorFlow Object Detection API所带的DEMO,见上文,对代码标红位置做修改使其指向训练好的模型frozen_inference_graph.pb:
在这里插入图片描述
输入你要预测的图片的位置,注意图像的命名和循环次数
在这里插入图片描述
点击Run All,出现以下图像:
在这里插入图片描述

相关推荐
©️2020 CSDN 皮肤主题: 数字50 设计师:CSDN官方博客 返回首页