Python 3.x 如何在tensorflow中使用预先训练的对象检测?
如何在tensorflow项目中使用预训练网络的权重?Python 3.x 如何在tensorflow中使用预先训练的对象检测?,python-3.x,tensorflow,deep-learning,object-detection,Python 3.x,Tensorflow,Deep Learning,Object Detection,如何在tensorflow项目中使用预训练网络的权重? 我知道一些关于这个的理论信息,但没有关于tensorflow编码的信息。正如@Matias Valdenegro在评论中指出的,你的第一个问题没有意义。然而,对于你的第二个问题,有多种方法可以做到这一点。你正在寻找的术语是迁移学习(TL)。TL意味着将“知识”(基本上只是权重)从预先训练的模型转移到您的模型中。现在有几种类型的TL 1) 您可以将预先训练好的模型中的所有权重转移到您的模型中,并以此作为训练网络的起点。 这是在这样一种情况下
我知道一些关于这个的理论信息,但没有关于tensorflow编码的信息。正如@Matias Valdenegro在评论中指出的,你的第一个问题没有意义。然而,对于你的第二个问题,有多种方法可以做到这一点。你正在寻找的术语是迁移学习(TL)。TL意味着将“知识”(基本上只是权重)从预先训练的模型转移到您的模型中。现在有几种类型的TL 1) 您可以将预先训练好的模型中的所有权重转移到您的模型中,并以此作为训练网络的起点。
- 这是在这样一种情况下完成的,即您现在有额外的数据来训练您的模型,但您不想再次开始训练。因此,您只需加载上一个模型的权重,然后继续训练
- 这是在这样一种情况下完成的,即您有一个经过训练的模型,可以在5类对象之间进行分类。现在,您需要添加/删除一个类。如果要添加的新类具有与现有类类似的特性,则不必从一开始就重新训练整个网络。因此,除了完全连接的层(现在输出大小不同)之外,您可以使用与以前的模型相同的精确体系结构构建另一个模型。在这种情况下,您将希望加载上一个模型中卷积层的权重,并冻结它们,同时只重新训练完全连接的层
我希望这能有所帮助。这是一个非常广泛的问题。对于第二部分,搜索“转移学习”。目标检测性能不是通过准确性而是通过地图来衡量的,所以你的第一个问题毫无意义。