我正在使用Tensorflow Object Detection API来训练一个使用迁移学习的对象检测模型。具体地说,我正在使用ssd_mobilenet_v1_fpn_coco from the model zoo和sample pipeline provided,当然已经用到我的训练和评估记录和标签的实际链接替换了占位符。
我能够使用上面的管道在我的大约5000张图像(以及相应的边界框)上成功地训练一个模型(我主要在TPU上使用Google的ML引擎,如果有用的话)。
现在,我准备了额外的大约2000张图像,并希望用这些新图像继续训练我的模型,而不需要从头开始(训练初始模型需要大约6小时的TPU时间)。我该怎么做呢?
发布于 2018-11-04 16:24:02
您有两个选项,在这两个选项中,您都需要更改新数据集train_input_reader的input_path:
的检查点
train_config{
fine_tune_checkpoint: <path_to_your_checkpoint>
fine_tune_checkpoint_type: "detection"
load_all_detection_checkpoint_vars: true
}train_input_reader)和之前型号相同的model_dir。这样,应用编程接口将创建一个图,并检查检查点是否已存在于model_dir中并适合该图。如果是,它将恢复它并继续训练它。编辑: fine_tune_checkpoint_type之前被错误地设置为true,而在一般情况下应该是“检测”或“分类”,在这种特定情况下应该是“检测”。谢谢Krish的注意。
发布于 2018-11-01 23:44:26
我没有在新的数据集上重新训练对象检测模型,但看起来在配置文件中增加了训练步骤的数量train_config.num_steps,并在tfrecord文件中添加图像应该就足够了。
https://stackoverflow.com/questions/53104300
复制相似问题