Tensorflow Object Detection API - 中途添加更多训练数据,可以吗?

标签 tensorflow object-detection

目前我的训练数据集总共有300张图片,目前保存的检查点是8054个。训练了10个小时,准确率在50%左右。该模型只需要检测一个对象。

我想提高准确性。所以,我只是想知道,如果我想添加更多训练图像怎么办?我将需要创建新的 xml 文件、csv 文件,当然还需要创建新的 TF 记录。我需要重新开始训练吗?或者只是,添加图像,新的 xml,新的 csv,然后新的 TF 记录,然后在检查点 8054 继续训练?

我正在使用 SSD mobilenet COCO 模型,批量大小为 5。除了仅仅增加训练数据集的数量之外,为了提高准确性,我还需要更改/改进哪些参数/因素?

最佳答案

要回答您的第一个问题,是的,您可以向对象检测 API 添加更多数据(例如作为单独的 tfrecord 文件)。只需为您的模型编辑 pipeline.config 文件。实际上,您可以将整个 .record 文件列表添加到 input_path 参数。

它看起来大概是这样的:

train_input_reader: {
  tf_record_input_reader {
    input_path: ["path/to/first.record", "path/to/second.record"]
  }
label_map_path: "..."
}

如果您不更改任何其他参数,训练应该简单地从检查点继续,它将加载新数据。

要回答第二个问题,对于SSD,一个简单的事情就是学习率,它可能太高并且损失可能会跳跃很多。不过,您必须自己使用 tensorboard 分析损失。至于其他超参数,我还没有取得太大的成功,所以我希望其他人可以参与其中。

关于Tensorflow Object Detection API - 中途添加更多训练数据,可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48637400/

相关文章:

image-processing - 对定向梯度直方图的理解

computer-vision - 通过一个对象上的不同特征快速区分相似对象

c++ - dlib 19.6 多分类器训练数据

python - 使用 load_model 加载模型时绘制模型的测试精度

python - ValueError : Found array with 0 sample (s) (shape= (0, 1) 而 MinMaxScaler 要求最小值为 1

tensorflow - Tensorboard 解析元数据或获取 Sprite 图像需要永远

opencv - 使用光流识别移动物体

python - 从 tensorflow 中的向量创建二进制张量

opencv - 人们检测到使用 Hog 没有找到任何人

matlab - 如何在自定义数据集上执行 RCNN 对象检测?