Как можно быстро убедиться, что CNN действительно учится? - PullRequest
0 голосов
/ 19 января 2020

Я попытался создать CNN с нуля на основе архитектуры L eNet из этой статьи

Я реализовал фон и теперь пытаюсь обучить его на наборе данных MNIST с использованием SGD с 16 размер партии. Я хочу найти быстрый способ убедиться, что обучение идет хорошо и ошибок нет. Для этого я визуализирую потери для каждой сотой партии, но на моем ноутбуке это занимает слишком много времени, и я не вижу общей динамики c (потеря колеблется вниз, но иногда отскакивает назад, поэтому я не уверен). Может ли кто-нибудь предложить проверенный способ обнаружить, что CNN работает хорошо, не дожидаясь многочасового обучения?

1 Ответ

1 голос
/ 19 января 2020

MNIST состоит из 60 тыс. Наборов данных размером 28 * 28 пикселей. Обучение CNN с размером пакета 16 будет иметь 4000 проходов вперед за эпохи. Теперь, учитывая, что вы используете L eNet, это не очень глубокая модель. Я бы посоветовал вам сделать следующее:

  1. Проверьте свои спецификации P C, такие как ОЗУ, процессор, графический процессор и т. Д. c.
  2. Попробуйте обучить свою модель в облаке такие сервисы как Google Colab, Kaggle и другие
  3. Попробуйте размер пакета 128 или 64
  4. Попробуйте нормализовать ваш набор данных изображений перед тренировкой

Скорость обучения также зависит в среде машинного обучения, которую вы используете, такой как Tensorflow, Pytorch et c. Я надеюсь, что это поможет.

...