Tensorflow object detection 训练并使用自己的模型

1.使用 LabelImg 这款小软件,将训练测试图片进行人工标,标注完成后保存为同名的xml文件。

2.对于Tensorflow,需要输入专门的 TFRecords Format 格式。调用写好的xml_to_csv.py将xml文件转换为csv文件,第二步从.csv表格中创建TFRecords格调用generate_tfrecord.py,将csv文件转换为record文件。
对于训练集与测试集分别运行上述代码即可,得到train.record与test.record文件

3.将ssd_mobilenet_v1_coco.config 放在training 文件夹下,记事本打开,改下述代码:

(1)、搜索其中的 PATH_TO_BE_CONFIGURED ,将对应的路径改为自己的路径,注意不要把test跟train弄反了;

(2)、将 num_classes 按照实际情况更改

(3)、batch_size 原本是24,我在运行的时候出现显存不足的问题,故改为1。

4.开始训练

切换到object_detection目录,输入:python model_main.py \ --pipeline_config_path=training/ssd_mobilenet_v1_coco.config --model_dir=object_detection/training \ --num_train_steps=50000 --num_eval_steps=2000 \ --alsologtostderr

训练时出现错误:InvalidArgumentError: Unsuccessful TensorSliceReader constructor: Failed to get matching files on PATH_TO_BE_CONFIGURED/model.ckpt: Not found: FindFirstFile failed for: PATH_TO_BE_CONFIGURED : ϵͳ\udcd5Ҳ\udcbb\udcb5\udcbdָ\udcb6\udca8\udcb5\udcc4·\udcbe\udcb6\udca1\udca3
; No such process

解决方法:将ssd_mobilenet_v1_coco.config中的两行删除
Tensorflow object detection 训练并使用自己的模型
解决上述问题重新开始训练