Решается задача классификации изображений на наборе данных Cifar-10. Разработайте сверточную нейронную сеть, которая решает поставленную задачу классификации, с использованием библиотеки PyTorch в Jupiter notebook. Подберите оптимальную архитектуру и параметры сети, а также параметры алгоритма обучения.
Последовательность действий, которую должен реализовывать скрипт:
- Загрузка данных. Необходимо обеспечить демонстрацию избранных изображений и меток классов для подтверждения корректности загрузки.
- Построение архитектуры сверточной сети. Требуется вывести информацию об архитектуре, возможно выполнить визуализацию графа сети.
- Обучение модели. Необходимо вывести информацию о параметрах алгоритма обучения. Также по завершении каждой эпохи следует обеспечить вывод точности классификации на тренировочной выборке, а по завершении обучения - вывод общего времени обучения.
- Тестирование модели. Необходимо обеспечить вывод точности классификации на тестовой выборке, по завершении тестирования - вывод среднего времени классификации одного изображения.
- Создать копию репозитория курса (кнопка Fork в правом верхнем углу), если не было сделано при выполнении других работ.
- Создать ветку для текущей лабораторной работы в собственной копии репозитория.
- Подготовленный бланк Jupiter notebook и его копия в формате html или pdf
необходимо загрузить в директорию с названием
<FamiliaIO>, где - фамилия и инициалы слушателя курса. Бланк должен содержать отчет по каждому этапу реализации. Загружаемые файлы должны иметь названиеLab_02. - Сделать пулл-реквест в репозиторий курса.
Максимальное количество баллов - 30 баллов:
- По 5 баллов за реализацию и подтверждение корректности каждого этапа реализованной последовательности действий.
- 10*<точность> за достигнутые результаты качества классификации, где <точность> - точность классификации, полученная на тестовой выборке на последнем этапе реализации.