【问题标题】:Where can I find the pretrained models of fasterRCNN / R-FCN with Mobilenet Feature extractor trained on COCO datset?在哪里可以找到使用在 COCO 数据集上训练的 Mobilenet 特征提取器的 fastRCNN / R-FCN 的预训练模型?
【发布时间】:2019-10-04 21:58:49
【问题描述】:
我想使用 Mobilenetv1 或 v2 在 FasterRCNN 上训练一个自定义数据集。我想在 tensorflow zoo 中使用预训练模型。但是我找不到以 mobilenet 作为基础提取器的更快的 Rcnn 模型。在哪里可以买到?
我已经在 github 中有 tensorflow zoo。我以前也使用过 SSD+Mobilenet 配置。现在我想将结果与 FasterRCNN 和 RCNN 与 Mobilenet 进行比较。
【问题讨论】:
标签:
tensorflow
object-detection-api
【解决方案1】:
官方 repo 尚未发布带有 mobilenet 模型的 Faster RCNN。但是如果你愿意,你仍然可以使用一些其他的模型和在 COCO 上训练的 mobilenet,这个过程有点复杂。
有两个重要步骤可以继续。
第一个是有相应的特征提取器类。对于 Faster RCNN,models 目录已经包含 faster_rcnn_mobilenet 特征提取器实现,所以这一步是可以的。但对于 R-FCN,您必须自己实现特征提取器类。
-
第二个是更改检查点中可用的张量名称。例如,如果您使用ssd_mobilenet_v1_xxx 作为检查点,则mobilenet 范围内的所有张量都被命名为FeatureExtractor/MobilenetV1/XXX,而如果在faster_rcnn_mobilenet_v1 模型中,mobilenet 范围内的张量名称为FirstStageFeatureExtractor/MobilenetV1/XXX(和@ 987654330@)。所以本质上你需要删除所有特征提取器张量名称中的FirstStage(以及SecondStage),然后这些张量将与检查点中的名称完全相同,并且将被正确恢复。如果这样做,则需要修改的功能是
def restore_map(self,
fine_tune_checkpoint_type='detection',
load_all_detection_checkpoint_vars=False):
在文件faster_rcnn_meta_arch.py中。