comment décompresser fichier pkl
j'ai un fichier pkl de l'ensemble de données MNIST, qui se compose d'images numériques manuscrites.
j'aimerais jeter un oeil à chacune de ces images numériques, donc j'ai besoin de déballer le fichier pkl, sauf que je ne peux pas savoir comment.
Est-il un moyen de décompresser/décompresser fichier pkl?
2 réponses
Généralement
pkl
le fichier est, en fait, un sérialisé pickle
fichier, ce qui signifie qu'il a été jeté en utilisant pickle
module.
De l'onu-les achards de données, vous pouvez:
import pickle
with open('serialized.pkl', 'rb') as f:
data = pickle.load(f)
Pour les MNIST ensemble de données
Remarque:gzip
n'est nécessaire que si le fichier est compressé:
import gzip
import pickle
with gzip.open('mnist.pkl.gz', 'rb') as f:
train_set, valid_set, test_set = pickle.load(f)
où chaque jeu peut être divisé davantage (c.-à-d. pour le jeu de formation):
train_x, train_y = train_set
Ceux qui seraient les entrées (chiffres) et les sorties (étiquettes) de vos jeux.
si vous voulez afficher les chiffres:
import matplotlib.cm as cm
import matplotlib.pyplot as plt
plt.imshow(train_x[0].reshape((28, 28)), cmap=cm.Greys_r)
plt.show()
L'autre alternative serait de regarder les données d'origine:
http://yann.lecun.com/exdb/mnist/
mais ce sera plus difficile, car vous aurez besoin de créer un programme pour lire les données binaires dans ces fichiers. Je vous recommande donc D'utiliser Python, et de charger les données avec pickle
. Comme vous l'avez vu, c'est très facile. ; -)
Handy one-liner
pkl() (
python -c 'import pickle,sys;d=pickle.load(open(sys.argv[1],"rb"));print(d)' ""
)
pkl my.pkl
print __str__
pour l'objet mariné.
le problème générique de la visualisation d'un objet n'est évidemment pas défini, donc si __str__
n'est pas assez, vous aurez besoin d'un script personnalisé.