使用tensorflow对象检测API训练不同的对象

时间:2018-04-08 17:35:37

标签: tensorflow

我最近遇到了这个用于学习张量流对象检测的链接 https://www.youtube.com/watch?v=Rgpfk6eYxJA&t=993s 但是我很少有疑问,并希望有关如何继续的建议。 1)我应该如何使用相同的模型训练不同的物体(我的意思是,如果我想训练猫,狗作为物体,我的数据集应包含什么。 2)一旦我为狗训练它,然后继续训练汽车将模型检测狗?

1 个答案:

答案 0 :(得分:0)

您的数据集应包含您希望检测的每个对象(类)的大量示例。听起来你误解了训练过程,假设你按顺序训练每一类物体,这是不正确的。当您训练模型时,您将在所有类中随机抽取一批样本(例如,可能为64个样本)。

同时对所有或许多类进行训练是有道理的,你有一个模型必须在所有类上同样表现良好。因此,当您训练模型时,您可以根据随机选择的类计算参数的误差,并将每个更新步骤的误差平均化,从而产生一个跨类执行良好的模型。

请注意,遇到类不平衡问题很常见。如果您只有少量的猫样本,以及数百万只狗的样本,您将不成比例地惩罚网络将狗误分类为猫,并且网络将始终预测狗对冲其赌注。理想情况下,每个类的数据平衡大致相等,如果没有,有很多书籍和教程可以解决这个问题。