Как лучше повысить macro f1 в задаче классификации изображения?
Сейчас ситуация такая: я решаю задачи классификации одного из 6 видов животных по его следу, датасет состоит из 3000 обучающих фото и 300 валидационных фото. Я использую ResNet 18 с предобученными весами, нормировка по ImageNet оптимизатор Adam, lr = 1e-3, batch = 32, 20 эпох, а также использую кросс энтропию. Проблема в том, что на обучении уже на 10 эпохе я получаю точность на обучении 97%, а на валидации у меня точность и macro f1 держатся на уровне 77% и не поднимаются особо выше.
Вот голова модели:
model_ft = models.resnet18(weights='IMAGENET1K_V1') num_ftrs = model_ft.fc.in_features model_ft.fc = nn.Sequential( nn.Linear(num_ftrs, 256), nn.ReLU(), nn.Linear(256, num_classes) )
Вот аугментации:
# train transforms.RandomResizedCrop(224, scale=(0.7, 1.0)), transforms.RandomHorizontalFlip(0.5), transforms.RandomRotation(15), transforms.ColorJitter(0.3, 0.3, 0.3, 0.1), transforms.RandomAffine(degrees=0, translate=(0.1, 0.1), scale=(0.9, 1.1)) # val transforms.Resize(256), transforms.CenterCrop(224)
Сейчас ситуация такая: я честно не особо понимаю что мне в данной ситуации делать, прошу каких-то советов!
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос