Yolov3中CNN层的真实数量是多少?

2024-04-24 15:07:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我真的对yolov3的体系结构感到困惑。我已经阅读了它。一些人们说它有103个卷积层,有些人说它有53个层。但是当你计算cfg文件中的卷积层时(下载后),大约有75层!。。。这里遗漏了什么?我该怎么做才能找到它?这个问题对我们很重要,因为我们需要在一篇论文中引用这个架构,我们需要知道层的确切大小……伙计们,帮帮我


Tags: 文件架构体系结构cfg卷积伙计遗漏yolov3
2条回答

looks like在这种情况下,这个模型中的层数可能是可变的。在paper中,它说Darknet53有53层。但是在他们的train.py文件中,他们有一个基于您所使用的Darknet模型的层数的截止值。具体来说:

def load_darknet_weights(self, weights, cutoff=-1):
    # Parses and loads the weights stored in 'weights'
    # cutoff: save layers between 0 and cutoff (if cutoff = -1 all are saved)
    weights_file = weights.split(os.sep)[-1]

    # Try to download weights if not available locally
    if not os.path.isfile(weights):
        try:
            os.system('wget https://pjreddie.com/media/files/' + weights_file + ' -O ' + weights)
        except IOError:
            print(weights + ' not found')

    # Establish cutoffs
    if weights_file == 'darknet53.conv.74':
        cutoff = 75
    elif weights_file == 'yolov3-tiny.conv.15':
        cutoff = 15

这段代码是说,如果您使用的是Darknet惊厥74文件,那么层数的截止值将是75。如果你用的是暗黑惊厥15文件,在15层会有一个截止。在

因此,您需要检查下载的Darknet文件并确定使用的版本。基于此,我将使用75,因为您似乎使用了darknet54.conv.74

此外,如果您查看他们的weightsRepo,您可以看到如果您只是从他们的Github进行拉取而不进行定制,那么75个层有一个截止点,因此它们的文件中似乎有75个层。在

值得注意的是,他们的论文发表于2018年4月,所以在那时候,他们可以在Github上为CNN添加更多层。在

根据AlexeyAB(非常流行的分叉黑暗版本的创造者)https://groups.google.com/forum/?nomobile=true#!topic/darknet/9WppEzRouMU

Yolo已经
75个cnn层(卷积层)+31个其他层(shortcut、route、upsample、yolo)=共106层。在

请记住,Yolo V3在3个不同的尺度上进行检测,这些尺度位于82,94106层。在

相关问题 更多 >