我遇到了这段代码
(x_train, y_train), (x_test, y_test) = mnist.load_data()
print("x_train 的形状:"+ str(x_train.shape))
print("y_train 的形状:"+ str(y_train.shape))
发现输出是这样的
(60000, 28, 28)
(60000,)
第一行输出
据我所知,这是否意味着在第一个维度它可以容纳 60k 个项目,然后在下一个维度,它可以容纳28“60k 个项目的数组” 最后,在最后一个维度中,它可以容纳28“28 的数组“60k 项的数组””
我想澄清的是,这是 28x28 数据的 60k 样本还是其他数据?
对于输出的第二行,它似乎只是一个包含 60k 项的一维数组。那么它实际上代表着什么呢? (我知道在 x_train 中它是手写数字,每个数字代表该单元格中的灰色强度)
请注意,我从一些在线示例中获取了此代码(我不记得了,也不介意您是否希望将您的信用添加到此示例中)和公共(public)数据集
tf.keras.datasets.mnist
最佳答案
你是对的,第一行给出了 60K 个 28x28
大小的数据,因此 (60000, 28, 28)
。
y_train
是x_train
的标签。因此它们是一维的,数量为 60k。
例如:如果x_train
的第一项是3的手写图像,那么y_train
的第一项将为“3”,即标签。
关于python - 张量的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55629163/