由于代理,我无法以简单的方式下载Keras MNIST数据库。
所以我从这里下载了本地版本: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,)
这对我来说真的没有意义。这到底是什么意思?如何更有意义地打印它?
答案 0 :(得分:1)
X_train的形状意味着您有60.000个形状示例(28,28),因此基本上没有60,000尺寸为28 x 28的图像,并且为黑白图像,因为您没有第三个通道。
对于您的y_train来说,这意味着您有60.000个标签,因此每张对应的图片都有一个标签。
如果要打印图像以查看其外观,可以执行以下操作:
(这是第一张图片)
plt.imshow(X_train[0, :, :], 'gray')
plt.title("image label: "+ str(y_train[0]), fontsize=14)
对您来说更清楚吗?