Автор оригинала: Pankaj Kumar.
Это руководство покрывает шаг, чтобы загрузить набор данных Mnist в Python. Mnist dataset это большая база данных рукописных цифр. Он обычно используется для обучения различных систем обработки изображений.
Mnist не хватает модифицированного Национального института стандартов и базы данных технологий.
Этот набор данных используется для учебных моделей для распознавания рукописных цифр. Это имеет приложение в сканировании для рукописных пин-кодов на буквах.
Mnist содержит коллекцию 70 000, 28 х 28 Изображения рукописных цифр от От 0 до 9.
Почему набор данных Mnist так популярен?
Мнист популярен для множества причин, это:
- Dataset Mnist – публично доступно.
- Данные требуются мало для Нет обработки Перед использованием.
- Это объемный набор данных.
Кроме того, этот набор данных обычно используется в курсах по обработке изображений и обучении машин.
Загрузка данных Mnist в Python
В этом руководстве мы узнаем о наборе данных Mnist. Мы также посмотрим, как загрузить DataSet Mnist в Python.
1. Загрузка набора данных в Python
Давайте начнем с загрузки набора данных в нашу ноутбук Python. Самый простой способ загрузки данных – через KERAS.
from keras.datasets import mnist
DataSet Mnist состоит из учебных данных и данных тестирования. Каждое изображение хранится в 28×28, а соответствующий выход – это цифра на изображении.
Мы можем проверить это, глядя на форму обучения и тестировании данных.
Чтобы загрузить данные в переменные Использовать:
(train_X, train_y), (test_X, test_y) = mnist.load_data()
Для печати формы тренировки и тестирования векторов используют:
print('X_train: ' + str(train_X.shape)) print('Y_train: ' + str(train_y.shape)) print('X_test: ' + str(test_X.shape)) print('Y_test: ' + str(test_y.shape))
Мы получаем следующий вывод:
X_train: (60000, 28, 28) Y_train: (60000,) X_test: (10000, 28, 28) Y_test: (10000,)
От этого мы можем заключить следующее о DataSet Mnist:
- Учебный набор содержит 60K изображения и набор тестирования содержит изображения 10K.
- Вектор обучения входного вектора имеет размерность [60000 x 28 х 28].
- Вектор тренировочного вывода имеет размер [60000 x 1].
- Каждый отдельный входной вектор имеет размер [28 х 28].
- Каждый отдельный выходной вектор имеет размерность [ 1] Отказ
2. Построение набора данных Mnist
Попробуем отображать изображения в DataSet Mnist. Начните, импортируя Матплотлиб Отказ
from matplotlib import pyplot
Чтобы построить данные, используйте следующую часть кода:
from matplotlib import pyplot for i in range(9): pyplot.subplot(330 + 1 + i) pyplot.imshow(train_X[i], cmap=pyplot.get_cmap('gray')) pyplot.show()
Выход выходит как:
Заполните код для загрузки и сюжета Mnist DataSet в Python
Полный код для этого учебника приведен ниже:
from keras.datasets import mnist from matplotlib import pyplot #loading (train_X, train_y), (test_X, test_y) = mnist.load_data() #shape of dataset print('X_train: ' + str(train_X.shape)) print('Y_train: ' + str(train_y.shape)) print('X_test: ' + str(test_X.shape)) print('Y_test: ' + str(test_y.shape)) #plotting from matplotlib import pyplot for i in range(9): pyplot.subplot(330 + 1 + i) pyplot.imshow(train_X[i], cmap=pyplot.get_cmap('gray')) pyplot.show()
Что дальше?
Теперь, когда вы импортировали набор данных Mnist, вы можете использовать его для классификации изображений.
Когда дело доходит до задачи классификации изображений, ничто не может победить сверточные нейронные сети (CNN). CNN содержит Световые слои, объединение слоев и выплывающие слои Отказ
Давайте посмотрим, что делают каждый из этих слоев.
1. Сверворение слоя
Слой свертки фильтрует изображение с меньшим пиксельным фильтром. Это уменьшает размер изображения, не теряя взаимосвязь между пикселями.
2. Пул слой
Основная задача слоя объединения состоит в том, чтобы уменьшить пространственный размер изображения после свертки.
Слой объединения уменьшает объем параметров, выбрав Максимальные, средние или суммы значений внутри пикселей.
Максимальное объединение является наиболее часто используемым техникой объединения.
3. Уплотнительный слой
Уплотнительный слой представляет собой многомерный вектор пикселя в виде одномерного вектора пикселя.
Заключение
Это руководство было о загрузке данных Mnist на DataSet в Python. Мы изучили набор данных Mnist и кратко обсуждали о сетях CNN, которые можно использовать для классификации изображений на DataSet Mnist.
Если вы хотите узнать дальше о обработке изображений в Python, прочитайте этот урок о том, как читать изображения в Python с помощью OpenCV.