как распаковать файл pkl
У меня есть файл pkl из набора данных MNIST, который состоит из рукописных цифровых изображений.
Я хотел бы взглянуть на каждое из этих цифровых изображений, поэтому мне нужно распаковать файл pkl, за исключением того, что я не могу узнать, как.
есть ли способ распаковать / распаковать файл pkl?
2 ответов
вообще
код pkl
файл на самом деле является сериализованным pickle
файл, что означает, что он был сброшен с помощью Python 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
. Как вы видишь, это очень просто. ;-)
удобный однострочный
pkl() (
python -c 'import pickle,sys;d=pickle.load(open(sys.argv[1],"rb"));print(d)' ""
)
pkl my.pkl
печати __str__
для маринованного объекта.
общая проблема визуализации объекта, конечно, не определена, поэтому, если __str__
недостаточно, вам понадобится пользовательский скрипт.