Чтобы те, кто будут работать с результатами ваших экспериментов, не допустили никаких ошибок, когда будут работать с вашей моделью, хорошей практикой является добавление в репозиторий .py скрипта (например, inference.py), в рамках которого описан процесс инференса моделей. В частности:
Как иницализировать вашу модель и подгрузить в неё обученные веса?
Какие трансформации изображения ожидает модель? (чаще всего, это аугментации, которые используются на валидации).
Как работать с выходом вашей модели? Для стороннего пользователя выход модели может быть ничего не значащими для него цифрами. В задачах классификации часто прикладывают словарик {out_id: class_name, out_id: class_name,...}
Т.е. в рамках этого скрипта должна быть описана логика всех этих шагов:
Инициализация модели
Подгрузка весов в неё
Считывание и подготовка изображения
Инференс (прогон изображения через модель)
Получение сырого предсказания из модели
Обработка сырого предсказания до вида 'left side'.
Tips and tricks:
Не забудьте про torch.no_grad()
Не забудьте перевести модель в model.eval() режим
При прогонке изображения через сеть, обязательно проверьте, что при использовании кода, в котором описана валидация, и кода инференса результаты совпадают
(со *) посмотрите на torch.trace и torch.script. Это позволит удобно объединить шаги 1 и 2
Чтобы те, кто будут работать с результатами ваших экспериментов, не допустили никаких ошибок, когда будут работать с вашей моделью, хорошей практикой является добавление в репозиторий .py скрипта (например, inference.py), в рамках которого описан процесс инференса моделей. В частности:
Т.е. в рамках этого скрипта должна быть описана логика всех этих шагов:
Tips and tricks: