管理tensorflow对象检测API中的类

时间:2018-05-28 20:14:51

标签: python python-3.x tensorflow object-detection object-detection-api

我正在开展一个项目,需要识别视频中的人或来自摄像机的直播流。我目前正在使用python的tensorflow对象识别API,我尝试了不同的预训练模型和冻结推理图。我只想识别人和车,所以我不需要我的神经网络来识别基于mobilenet或rcnn的冷冻推理图所带来的所有90个类,因为它似乎会减慢这个过程,而这90个中有89个我的项目中不需要课程。我是否必须训练自己的模型,或者有没有办法修改推理图和现有模型?对于你们中的一些人来说这可能是一个小道问题,但请注意,我已经使用了tensorflow和机器学习一个月。 提前致谢

2 个答案:

答案 0 :(得分:0)

缩小最后一层以输出1或2个类不太可能产生大的加速。这是因为大多数计算都在中间层。您可以缩小中间层,但这会导致精度较差。

答案 1 :(得分:0)

是的,您必须训练自己的模型。让我们简单地看一下如何做。

选项1 。当您希望最大程度地应用传输知识时,可以冻结CNN层。之后,您可以使用分类器(密集层)的尺寸来更改检测到的类的数量。分类器是CNN架构中的最新部分。现在,您应该只训练分类器。

选项2 。假设您想将传输知识应用于CNN的第一层(例如,冻结前2-3个CNN层),并使用分类器重新训练其余的CNN。之后,您可以使用分类器的维数更改检测到的类的数量。现在,您应该重新训练CNN其余层和分类器。

选项3 。假设您要使用分类器重新训练整个CNN。之后,您可以使用分类器维更改检测到的类的数量。现在,您应该使用分类器重新训练整个CNN。

通常, Tensorflow对象检测API 对于初学者来说是一个好的开始!如何解决您的问题,您可以查看here有关整个过程的更多详细信息和额外的说明here