tensorflow.keras.dataset.minst.load_data() returns 的解释

Explaination for what tensorflow.keras.dataset.minst.load_data() returns

我看到了这样的说法:

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

及其对应的解释 returns:

Returns: 2 tuples: x_train, x_test: uint8 array of grayscale image data with shape (num_samples, 28, 28). y_train, y_test: uint8 array of digit labels (integers in range 0-9) with shape (num_samples,).

我这里的疑惑是x_trainx_testy_trainy_test本身是否是一个包含值(num_sample, 28, 28)和[=的元组18=]分别是?元组 x_train, x_test 实际上是元组的元组 ?

我是这个话题的新手,如果我问的问题很愚蠢,我很抱歉!如果有人对此有解释,请回信。

来自the docs

tf.keras.datasets.mnist.load_data

Returns:
Tuple of Numpy arrays: (x_train, y_train), (x_test, y_test).

但是这个措辞有点令人困惑,函数的实际 return 类型是两个元组的元组,每个元组有两个 numpy 数组:

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

让我们看看那些物体的形状:

(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 像素矩阵中表示的数字的标签。