pytorch передавая тип архитектуры с помощью argprse

Используя Pytorch. При передаче типа архитектуры используйте следующий код:

parser.add_argument('-arch', action='store',
                    dest='arch',
                    default= str('vgg16'))

При использовании названия архитектуры со следующим кодом:

model = models.__dict__['{!r}'.format(results.arch)](pretrained=True)

Я получаю следующую ошибку:

модель = модели.dict'{! r}'. format (results.arch) KeyError: "'vgg16'"

Что я делаю неправильно?

2 ответа

Решение

Ты получил KeyError то есть ваш импортированный models не включать 'vgg16' как одна из известных моделей.
Проверьте, какие модели у вас есть, распечатав

print(models.__dict__.keys())

Это должно позволить вам узнать, какие модели вы импортируете, а какие отсутствуют, тогда вы можете посмотреть в ваших импорте и увидеть, где 'vgg16' потерялся.

model = models.__dict__[results.arch](pretrained=True)

Решение.

Другие вопросы по тегам