MNIST数据库推理
Reasoning about MNIST database
由于代理,我无法以简单的方式下载 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,)
这对我来说真的没有意义。这到底是什么意思?我怎样才能更有意义地打印它?
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)
你是不是更清楚了?
由于代理,我无法以简单的方式下载 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,)
这对我来说真的没有意义。这到底是什么意思?我怎样才能更有意义地打印它?
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)
你是不是更清楚了?