Каково реальное количество слоев CNN в yolov3? - PullRequest
0 голосов
/ 01 марта 2019

Я действительно запутался с архитектурой yolov3.Я прочитал документацию и статью об этом. Некоторые люди говорят, что у него 103 сверточных слоя, другие говорят, что у него 53 слоя. Но когда вы считаете сверточные слоив файле cfg (после его загрузки) примерно 75! ... Что здесь упущено? что я должен сделать, чтобы найти его? этот вопрос важен для нас, потому что нам нужно процитировать эту архитектуру в документе, и мы должны знать,точный размер слоев ... помогите мне, ребята

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Согласно AlexeyAB (создатель очень популярной разветвленной версии Darknet) https://groups.google.com/forum/?nomobile=true#!topic/darknet/9WppEzRouMU

Yolo имеет
75 cnn-слоев (сверточные слои) + 31 другой слой (ярлык, маршрут, upsample, yolo)= Всего 106 слоев.

Помните, что Yolo V3 выполняет обнаружение в 3 различных масштабах, которые находятся на уровне 82,94,106.

0 голосов
/ 01 марта 2019

Это выглядит как , в этом случае в этой модели может быть переменное количество слоев.В бумаге говорится, что 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. И если вы используете файл конвульсии Darknet 15будет срез на 15 слоев.

Итак, вам нужно проверить, какой файл Darknet вы скачали, и определить, какую версию вы использовали.Исходя из этого, я бы пошел с 75, так как кажется, что вы использовали darknet54.conv.74

Более того, если вы посмотрите их веса Репо вы можете увидеть, что есть отсечение для 75 слоевесли вы просто извлекаете их из Github и не настраиваете их, значит, в их файле 75 слоев.

Стоит отметить, что их статья вышла в апреле 2018 года, поэтому за это время они могли бы добавить больше слоев к своей CNN на своем Github.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...