在取消打印后在终端上查看MNIST数据集中的所有值

时间:2015-12-22 11:29:52

标签: python arrays pickle mnist

我查看了之前提出的与我的查询有关的问题,但需要更多帮助才能查看pickle文件中的每个值(MNIST.pkl.gz)我使用gzip来解开它,并且能够查看终端上阵列的一部分,但其余条目用点代替。为了解决打印完整数组时出现的这个问题,我尝试了一种方法来打印它,但这并没有解决我的问题,因为它主要解决了同样的问题,但是当使用NumPy进行打印时。这是我的代码:

import scipy.io
import pickle  
import gzip

#import numpy
#numpy.set_printoptions(threshold=numpy.nan)

#mat=scipy.io.loadmat('traffic_patches.mat')
#print mat 
dataset='mnist.pkl.gz'
#unpickling..

f = gzip.open(dataset, 'rb')
training_data, validation_data, test_data = pickle.load(f)


print 'we will print'
print training_data[0], ' ', training_data[1]
print 'we printed'
print training_data
'''f=open('mattext1.txt','w+')
pickle.dump(mat,f)
f.close()
'''
#training_data[0]>file1.txt

f.close()

1 个答案:

答案 0 :(得分:0)

了解如何通过将其打印到.txt文件来获取所有值。以下是在文件中打印矩阵值和在终端上打印标签的代码。

#Supratika


import scipy.io
import pickle
import gzip
import numpy
numpy.set_printoptions(threshold=numpy.nan)
#mat=scipy.io.loadmat('traffic_patches.mat')
#print mat
'''f=open('mattext1.txt','w+')
pickle.dump(mat,f)
f.close()
'''
dataset='mnist.pkl.gz'
#unpickling..

f = gzip.open(dataset, 'rb')
training_data, validation_data, test_data = pickle.load(f)


print 'we will print'
#print training_data[0], ' ', training_data[1]


g=open("sup_data2.txt","w")
for line in training_data[0]:
    #print type(line) --->    <type 'numpy.ndarray'>

    x=map(str,line.tolist())# makes space separated string frm a list of numbers
    g.write(' '.join(x))

#The above prints serially all the 784 pixel values of all the 60,000 images in mnist.


for val in training_data[1]:
    #y=map(str,val.tolist())
    #g.write(' '.join(y))
    print ' ',training_data[1][val] #class labels

g.close

print 'we printed'
#print training_data

#training_data[0]>file1.txt

f.close()