Fastai выучить.сумма неверно с пользовательской головой - PullRequest
0 голосов
/ 25 февраля 2019

Я передаю модель alexnet из репозитория pretrainedmodels в функцию fastai create_cnn, используя головку alexnet по умолчанию, а не адаптивный пул.

Кто-нибудь знает, почему сводная информация неверна, хотя информация о модели верна и модель, кажется, работает правильно?(Я использую набор данных породы собак / кошек, который имеет 37 классов).Например:

import pretrainedmodels

data = ImageDataBunch.from_name_re(path_img, fnames, pat, ds_tfms=get_transforms(), size=224, bs=64
                                  ).normalize(imagenet_stats)

arch = pretrainedmodels.__dict__['alexnet'](num_classes=1000,pretrained='imagenet')
arch.last_linear.out_features = data.c

model = nn.Sequential(OrderedDict([
    ('features', arch._features),
    ('classifier', nn.Sequential(Flatten(), *children(arch)[1:]))
]))

learn = create_cnn(data, lambda *args : model, metrics=error_rate, custom_head=net.classifier)

# model says 37 classes in last linear
print(learn.model)
# summary incorrectly says 1000 classes in last linear
print(learn.summary())
...