Создание собственной модели распознавания цифр
Вы добрались до финального упражнения курса — теперь у вас есть всё необходимое, чтобы построить точную модель распознавания рукописных цифр!
Базовая обработка набора данных 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 для работы с изображениями.
Это упражнение является частью курса
Введение в глубокое обучение на Python
Инструкции к упражнению
- Создайте объект
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эпох.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create the model: model
model = ____
# Add the first hidden layer
____
# Add the second hidden layer
____
# Add the output layer
____
# Compile the model
____
# Fit the model
____