Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deep learning 目标检测的预训练模型还是从头开始训练?_Deep Learning_Pytorch_Conv Neural Network_Object Detection_Transfer Learning - Fatal编程技术网

Deep learning 目标检测的预训练模型还是从头开始训练?

Deep learning 目标检测的预训练模型还是从头开始训练?,deep-learning,pytorch,conv-neural-network,object-detection,transfer-learning,Deep Learning,Pytorch,Conv Neural Network,Object Detection,Transfer Learning,我有一个由10k-15k图片组成的数据集,用于监督对象检测,这与Imagenet或Coco非常不同(图片更暗,代表完全不同的事物,与工业相关) 目前使用的模型是FasterRCNN,它使用Resnet作为主干提取特征。 是否可以在一个阶段从头开始训练模型的主干,然后在另一个阶段训练整个网络,而不是在Coco上加载预先训练的网络,然后在一个阶段重新训练整个网络的所有层?根据我的经验,这里有一些要点: 您的训练集不够大,无法从头开始训练探测器(尽管取决于网络配置,fasterrcnn+resnet

我有一个由10k-15k图片组成的数据集,用于监督对象检测,这与Imagenet或Coco非常不同(图片更暗,代表完全不同的事物,与工业相关)

目前使用的模型是FasterRCNN,它使用Resnet作为主干提取特征。
是否可以在一个阶段从头开始训练模型的主干,然后在另一个阶段训练整个网络,而不是在Coco上加载预先训练的网络,然后在一个阶段重新训练整个网络的所有层?根据我的经验,这里有一些要点:

  • 您的训练集不够大,无法从头开始训练探测器(尽管取决于网络配置,fasterrcnn+resnet18可以工作)。最好在imagenet上使用预先训练过的网络
  • 网络预先训练的领域实际上并不那么重要。网络,尤其是大型网络,需要学习所有这些拱门、圆和其他原始图形,以便使用这些知识检测更复杂的对象
  • 列车图像的亮度可能很重要,但不能阻止您使用预先培训的网络
  • 从头开始的培训需要更多的时间和更多的数据。训练时间越长,LR控制算法就越复杂。至少,它不应为常数,并根据累积损失改变LR。初始设置取决于多个因素,如网络大小、扩展和纪元数
  • 我经常使用fasterrcnn+resnet(不同层数)和其他网络。我建议您使用maskcnn而不是fasterrcnn。只需命令它不要使用遮罩,也不要进行分割。我不知道为什么,但它提供了更好的结果
  • 不要把时间花在mobilenet上,因为你的火车组大小,你将无法用一些合理的AP和AR来训练它。从maskrcnn+resnet18主干网开始

您能解释一下主干是什么意思吗?你是说卷积网络权重是一种无监督的技术(比如自动编码器)?最后的目标检测是一种有监督的方式吗?谢谢你的评论,我对这个问题做了一些详细的编辑。