объяснение того, что возвращает tenorflow.keras.dataset.minst.load_data () - PullRequest
2 голосов
/ 20 февраля 2020

Я наткнулся на утверждение:

(x_train, y_train), (x_test, y_test) = mnist.load_data()

и соответствующее объяснение того, что он возвращает:

Возвращает: 2 кортежа: x_train, x_test: массив uint8 данных изображения в градациях серого с формой (num_samples, 28, 28). y_train, y_test: uint8 массив ди git меток (целых чисел в диапазоне 0-9) с формой (num_samples,).

Я сомневаюсь, что x_train, x_test, y_train или y_test сам по себе кортеж, который содержит значения (num_sample, 28, 28) и (num_sample) соответственно? а кортеж x_train, x_test на самом деле кортеж кортежа?

Я новичок в этом топи c, поэтому мне жаль, если я задаю очень глупые вопросы! Если у кого-то есть объяснение этому, пожалуйста, напишите обратно.

Ответы [ 2 ]

2 голосов
/ 20 февраля 2020

Давайте посмотрим на формы этих объектов:

(x_train, y_train), (x_test, y_test) = mnist.load_data()

print(np.shape(x_train))
print(np.shape(x_test))
print(np.shape(y_train))
print(np.shape(x_test))

(60000, 28, 28)

(10000, 28, 28)

(60000,)

(10000,)

Наборы данных x_ * содержат соответственно 60000 и 10000 матриц по 28 * 28 пикселей, закодированных в виде значений от 0 до 255.

Ваш набор данных y_ * содержит метки того, какое число представлено в ваших соответствующих матрицах размером 28 * 28 пикселей.

1 голос
/ 20 февраля 2020

Из документов :

tf.keras.datasets.mnist.load_data

Возвращает :
Кортеж из Numpy массивов: (x_train, y_train), (x_test, y_test).

Но эта формулировка несколько сбивает с толку, фактический тип возвращаемого значения функции - это кортеж из двух кортежей с двумя numpy массивами в каждом:

Tuple[Tuple[np.ndarray, np.ndarray], Tuple[np.ndarray, np.ndarray]]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...