Рассуждение о базе данных MNIST - PullRequest
1 голос
/ 06 июня 2019

Я не могу загрузить Keras MNIST db простым способом из-за прокси.

Поэтому я скачал отсюда локальную версию: https://s3.amazonaws.com/img-datasets/mnist.pkl.gz

Я импортирую ее в свой блокнот сследующий код:

import gzip
import pickle
f = gzip.open('mnist.pkl.gz', 'rb')
if sys.version_info < (3,):
    data = pickle.load(f)
else:
    data = pickle.load(f, encoding='bytes')
f.close()
print(data)
(X_train, y_train), (X_test, y_test) = data

но я не совсем уверен, как с ним играть.

Я пытаюсь напечатать фигуры так:

print(X_train.shape)
print(y_train.shape)

но это дает вывод:

(60000, 28, 28)
(60000,)

, который на самом деле не имеет смысла для меня.Что это на самом деле означает?Как я могу напечатать это более осмысленно?

1 Ответ

1 голос
/ 06 июня 2019

Форма вашего X_train означает, что у вас есть 60 000 образцов формы (28, 28), то есть, в основном, 60 000 изображений размером 28 на 28 и черно-белые, потому что у вас нет третьего канала.

Для вашего y_train это означает, что у вас есть 60 000 этикеток, поэтому одна этикетка для каждого соответствующего изображения.

Если вы хотите напечатать изображение, чтобы увидеть, как оно выглядит, вы можете сделать это:
(здесь первое изображение)

plt.imshow(X_train[0, :, :], 'gray')
plt.title("image label: "+ str(y_train[0]), fontsize=14)

Вам это понятнее?

...