【发布时间】:2020-07-17 12:24:56
【问题描述】:
我已经使用微调预训练模型ssd_mobilenet_v2_coco_2018 训练了一个模型。在这里,我使用了完全相同的 pipeline.config 文件进行训练,该文件位于 ssd_mobilenet_v2_coco_2018 pre-trained 文件夹中。
我只删除了batch_norm_trainable: true 标志并更改了类数(4)。
在使用包含 4 个类的自定义数据集训练模型后,我发现 concat 和 concat_1 节点可以相互交换。
预训练模型有
| concat | 1x1917x1x4 |
训练后变成
| concat | 1x1917x5 |
我附上了两个张量板图形可视化图像。第一张图片是预训练图ssd_mobilenet_v2_coco_2018。
节点交换可以在图像的最右角看到。与预训练图中一样,Postprocess layer 与 concat_1 连接,Squeeeze 与 concat 连接。但是在训练之后,图表显示完全相反。就像Prosprocess layer 连接到concat 和Squeeeze 连接到concat_1。
此外,我还在预训练模型图中发现Preprocessor 接受输入ToFloat,而在训练后,该图显示 Cast 作为Preprocessor 的输入。
我已将模型输入为tfrecords。
【问题讨论】:
标签: python python-3.x tensorflow tensorboard object-detection-api