105

手書きの数字画像で構成される MNIST データセットの pkl ファイルがあります。

これらの数字の画像をそれぞれ見てみたいので、pkl ファイルを解凍する必要がありますが、方法がわかりません。

pkl ファイルを解凍/解凍する方法はありますか?

4

4 に答える 4

195

一般的

pkl実際、あなたのファイルはシリアル化されたファイルであり、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

もう 1 つの方法は、元のデータを確認することです。

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

ただし、これらのファイルのバイナリ データを読み取るプログラムを作成する必要があるため、それは難しくなります。そのため、Python を使用してデータをロードすることをお勧めしますpickle。ご覧のとおり、とても簡単です。;-)

于 2014-08-01T11:22:08.223 に答える