У нас вы можете посмотреть бесплатно 011 Рефакторинг кода классификации. Часть 1 (жизненный опыт и программирование) или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Это видео фактически состоит из 3-х частей. Вначале я поделюсь своим опытом как выполнять рефакторинг кода на реальных проектах, чтобы на это находилось время. Т.е. можете просто узнать, как другие люди выкручиваются на проекте, когда нужно где-то найти время на улучшение кода. Также рассматриваю некоторые философские вопросы. Во второй части будут поставлены 8 задач по улучшению кода, с помощью которого до этого выполнялась классификация изображений. И сразу после этого рассмотрим изменения в коде и тот результат, который получили. А в заключительной третьей части будет продемонстрирован весь код, который в последующем будет использоваться для задачи классификации. Это видео как раз позволяет увидеть всю структуру существующего проекта и все изменения, которые внесены в проект на данный момент. Найденные ошибки в коде: исправлены в видео 012 1. косметическая. В файле train.py строка 377, нужно исправить в следующей редакции: print(f"Эпоха: [{epoch+1}/{args.epochs}] завершена за {time.time() - epoch_start:6.3f} секунд") 2. критическая. Может сыпаться ошибка в потоках, связанная с GUI средой. Её причина в добавлении интерактивного использования matplotlib в многопоточке. Во время обучения нельзя использовать интерактивный режим. Ключ к устранению критичности проблемы заключается в добавлении в начале файла train.py команд: import matplotlib matplotlib.use('Agg') А вот что нужно полностью сделать - смотрите в следующем видео 012_xxxxx исправлено в видео 013 3. Неправильно рассчитывается время на обработку 1000 изображений. Необходимо в файле train.py заменить строку 274 в следующей редакции: sec_per_1000_imgs = 1000 * np.median(epoch_times) / (len(train_loader) * train_loader.batch_size) Таймкоды: 00:00 | Введение 02:40 | Личный опыт выполнения рефакторинга на проектах 13:27 | Постановка целей на рефакторинг 17:15 | 1. Добавить график обучения по эпохам 21:08 | 2. Сделать досрочное прерывание обучения 22:40 | 3. Тестирование выполнять на датасетах test и val 24:18 | 4. При тестировании сохранять все ошибочные изображения и 3% от верных 26:01 | 5. Визуализировать процесс эпохи обучения с помощью progressBar 27:34 | 6. Надписи на изображении сделать более читаемые 29:56 | 7. Сделать глобальное накопление истории по запускам обучения 36:48 | 8. Название модели для тестирования должно формироваться автоматически 38:14 | Полная демонстрация кода