О переводном обучении с помощью resnet50 в pytorch - PullRequest
0 голосов
/ 01 марта 2020

Недавно я работал над проектом классификации изображений посадочных мест. И я только что прочитал учебник по переводному обучению из официальной документации с сайта pytorch ( здесь ). Все изображения следов выглядят следующим образом: изображение следа

В наборе данных содержатся изображения следов 20 человек, а на каждого человека - 10 изображений следа. Я попробовал сценарии из учебник, упомянутый ранее. И я только изменил часть для преобразования данных в это:

data_transforms = {
‘train’: transforms.Compose([
#transforms.RandomResizedCrop(224),
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.RandomHorizontalFlip(),
#transforms.RandomVerticalFlip(),
transforms.RandomRotation(degrees=15),
transforms.RandomRotation(degrees=30),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),
‘val’: transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),
}

Итак, вот результат, который озадачивает меня довольно долгое время. Когда я использую это из официального урока:

model_ft = models.resnet50(pretrained=True)
num_ftrs = model_ft.fc.in_features
model_ft.fc = nn.Linear(num_ftrs, 20)

, я могу получить только a cc около 60%. Но когда я не изменил слой f c следующим образом:

model_ft = se_resnet50(pretrained = True)

Я мог бы даже получить результат cc, достигший даже 97,5%. Вот мои вопросы: 1. Когда я изменил слой f c, это означает, что он мог выдавать только 20 вероятностей (поскольку у меня есть набор данных из 20 человек). Но почему я получил худшие результаты, если я изменил f c layer ???

2.Я рассматривал возможность использования S Enet (se-resnet50 здесь ) для улучшения моего результата (с 97,5%). Но я только что получил a cc около 80%, что хуже, чем у resnet50. Как может быть хуже?

3.Если я хочу улучшить свои результаты (с 97,5%), что я должен делать ??

Заранее спасибо. Буду признателен за любую помощь.

...