1. Обучение
  2. /
  3. Курса
  4. /
  5. Введение в глубокое обучение на Python

Connected

Упражнение

Создание собственной модели распознавания цифр

Вы добрались до финального упражнения курса — теперь у вас есть всё необходимое, чтобы построить точную модель распознавания рукописных цифр!

Базовая обработка набора данных MNIST, показанная в видео, уже выполнена: переменные X и y загружены и готовы к работе. Классы Sequential и Dense из tensorflow.keras также предварительно импортированы.

Для дополнительной сложности мы загрузили всего 2500 изображений вместо 60 000, которые вы можете встретить в некоторых опубликованных результатах. Модели глубокого обучения работают тем точнее, чем больше данных они получают, однако с ростом объёма данных и сложности архитектуры обучение занимает больше времени.

Если у вас есть компьютер с GPU, совместимым с CUDA, вы можете использовать его для ускорения вычислений. Если GPU нет — не беда! Можно настроить среду глубокого обучения в облаке и обучать модели на GPU. Подробнее об этом рассказывается в статье блога от Дэна — обязательно ознакомьтесь с ней после завершения упражнения!

Хотите продвинуться в глубоком обучении дальше? Пройдите курс Advanced Deep Learning with Keras, чтобы узнать, как функциональный API Keras позволяет решать новые классы задач. А освоив функциональный API, загляните в курс Image Processing with Keras in Python — там вы изучите применение Keras для работы с изображениями.

Инструкции

100 XP
  • Создайте объект Sequential для начала построения модели и назовите его model.
  • Добавьте первый скрытый слой Dense с 50 нейронами и активацией 'relu'. Для этих данных укажите input_shape=(784,).
  • Добавьте второй скрытый слой Dense с 50 нейронами и функцией активации 'relu'.
  • Добавьте выходной слой. Используйте функцию активации 'softmax'; количество нейронов в этом слое должно совпадать с числом возможных классов — в данном случае 10.
  • Скомпилируйте model так же, как вы делали это ранее: укажите 'adam' в качестве optimizer, 'categorical_crossentropy' в качестве функции потерь и metrics=['accuracy'].
  • Обучите модель на данных X и y, задав validation_split=0.3 и 10 эпох.