【发布时间】:2019-03-20 07:31:08
【问题描述】:
我想知道如何在 tensorflows 对象检测存储库中使用预训练模型。我不确定我是否理解正确。
这是对以下问题的扩展:link
我的想法:
TensorFlow 基于配置文件构建模型。现在它看看预训练的模型并迭代每一层。如果层按名称在两者之间匹配,则保留参数/权重,如果层不匹配则不保留。
假设我想为 ssd mobilenet v1 coco 使用预训练模型。我的新模型有 100 个类。 tf 所做的是,它用旧值初始化与我的新模型的前 90 个类对应的卷积层,同时在训练开始时为其他类选择随机值。现在,如果我的新模型只有 10 个类,它们将使用预训练的 coco 模型的前 10 个类进行初始化。
或
类对应的特定卷积层与预训练模型的形状不匹配,因此不保留?因为在 SSD 中,用于确定分数/类别/框坐标值的卷积包含在多个卷积层中,每个卷积层对应一个不同的值。
【问题讨论】:
标签: python tensorflow machine-learning