TorchVision检测模型有一个weights
和一个weights_backbone
参数。使用预训练的weights
是否意味着模型在引擎盖下使用了预训练的weights_backbone
?我正在训练一个RetinaNet模型,并且不确定我应该使用哪两个选项,以及不同之处。
发布于 2022-11-18 13:56:54
区别非常简单:您可以选择只在主干上进行转移学习,也可以在整个网络上进行转移学习。
来自火炬视觉的RetinaNet有Resnet50主干网。您应该能够同时完成以下两项工作:
retinanet_resnet50_fpn(weights=RetinaNet_ResNet50_FPN_Weights.COCO_V1)
retinanet_resnet50_fpn(backbone_weights=ResNet50_Weights.IMAGENET1K_V1)
正如他们的名字所暗示的那样,骨干权值是不同的。前者训练对象检测( COCO ),后者训练分类( ImageNet )。
要回答您的问题,预培训的weights
意味着整个网络,包括骨干网权值,都是初始化的。但是,我不认为它会把backbone_weights
称为下盖。
https://stackoverflow.com/questions/74489594
复制相似问题