python - 如何解压pkl文件?

标签 python pickle deep-learning mnist

我有一个来自 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()

mnist_digit

另一种选择是查看原始数据:

http://yann.lecun.com/exdb/mnist/

但这会更难,因为您需要创建一个程序来读取这些文件中的二进制数据。所以我推荐你使用 Python,并使用 pickle 加载数据。如您所见,这非常容易。 ;-)

关于python - 如何解压pkl文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24906126/

相关文章:

python - 克隆文档 mongoengine

Python 序列化 - 为什么pickle?

python - 在没有 Tee 的情况下在 Python 中克隆生成器

python - 如何在Python中读取和使用pickled文件?

python - 如何避免 pickle 字典与 pickle 列表的惩罚

python - 使用 Apache mxnet (gluon) 训练神经网络导致程序崩溃

machine-learning - 当我训练我的caffe模型时,损失总是保持很大的值,并且准确性没有提高。

android-studio - 如何在 Android Studio 中使用 onnxruntime 和 .ort 模型

Python BeautifulSoup 不会从 XML 返回标签

python - 用python过滤json文件