Я только что начал проект классификации изображений в соответствии с руководством из документации на веб-сайте pytorch ( this ). В руководстве есть часть кода, подобная этой:
model_ft = models.resnet50(pretrained=True)
num_ftrs = model_ft.fc.in_features
model_ft.fc = nn.Linear(num_ftrs, 20)
И я знаю причину, по которой слой f c должен быть изменен. Так как мой проект должен классифицировать 20 классов, я просто изменил параметры с 2 на 20. Но я просто получаю точность около 60%. Когда я не меняю слой f c следующим образом:
model_ft = se_resnet50(pretrained = True)
Оказалось, что точность достигает 93,75%, что намного лучше по сравнению с прежними результатами.
Я просто не мог выяснить, почему у меня получаются худшие результаты классификации, когда я изменяю слой f c. Разве это не должно быть изменено?