Использовать Pytorch для решения задачи классификации и регрессии из предыдущей работы.
- Использованы Dataset и DataLoader
- Использованы планировщики
- Выведены графики обучения: кривые потерь на обучающей и тестовой выборке
- Загрузите датасет для классификации кошек и собак: https://drive.google.com/file/d/1YQ2PX-BZ_7uZ216qmAnx-nTCaEqozuCZ/view?usp=share_link.
- Загрузите датасет с множеством различных классов: https://data.caltech.edu/records/mzrjq-6wc02/files/caltech-101.zip. Выберите 3 любых класса, которые вам нравятся.
- Загрузите данные и сформируете датасет. Выполните минимум две аугментации. Соберите сверточную нейронную сеть с помощью фреймворка PyTorch и решите задачу классификации кошек и собак. Оцените модель. Будьте готовы ответить на вопросы:
- какие этапы предварительной обработки данных вы делаете и что происходит с данными?
- что означают параметры, которые вы задаете?
- какие слои у вас есть и что происходит на каждом слое?
- Загрузите модели InceptionV3 и VGG19 с помощью PyTorch. Выполните feature extraction и fine-tuning этих моделей для распознавания выбранных на 2 пункте классов. В процессе подготовки сетей, разморозьте какой-либо еще слой, кроме последнего. Сравните результаты двух сетей на ваших данных (по classification_report в процессе обучения).
Дополнительное задание
- Используйте реализацию многослойного персептрона из ЛР 1. Реализуйте сверточный слой (прямое и обратное распространение). Соберите сверточную сеть. Попробуйте обучить классификатор кошек и собак с использованием собственной реализации сверточной нейронной сети. Вам также потребуется реализовать слой для преобразования многомерных массивов данных в одномерные.
- Реализуйте слои MaxPooling, AveragePooling и MinPooling (прямое и обратное распространение). Самостоятельно найдите схему вычисления градиента.
https://www.notion.so/72fd027855814e508f5eff1bbeaba859?pvs=21