我有一个来自 MNIST 数据集的 pkl 文件,其中包含手写数字图像。
我想看一下这些数字图像中的每一个,所以我需要解压缩 pkl 文件,但我不知道如何解压。
有没有办法解压/解压pkl文件?
最佳答案
一般
您的 pkl
文件实际上是一个序列化的 pickle
文件,这意味着它已使用 Python 的 pickle
转储。模块。
要取消 pickle 数据,您可以:
import pickle
with open('serialized.pkl', 'rb') as f:
data = pickle.load(f)
对于 MNIST 数据集
注意 gzip
仅在文件被压缩时才需要:
import gzip
import pickle
with gzip.open('mnist.pkl.gz', 'rb') as f:
train_set, valid_set, test_set = pickle.load(f)
每个集合可以进一步划分(即对于训练集):
train_x, train_y = train_set
这些将是您的集合的输入(数字)和输出(标签)。
如果要显示数字:
import matplotlib.cm as cm
import matplotlib.pyplot as plt
plt.imshow(train_x[0].reshape((28, 28)), cmap=cm.Greys_r)
plt.show()
另一种选择是查看原始数据:
http://yann.lecun.com/exdb/mnist/
但这会更难,因为您需要创建一个程序来读取这些文件中的二进制数据。所以我推荐你使用 Python,并使用 pickle
加载数据。如您所见,这非常容易。 ;-)
关于python - 如何解压pkl文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24906126/