मैं इस कार्यक्रम का उपयोग करके पायथन 3.2 में यहां जुड़े MNIST डेटासेट को लोड करने की कोशिश कर रहा हूं :
import pickle
import gzip
import numpy
with gzip.open('mnist.pkl.gz', 'rb') as f:
l = list(pickle.load(f))
print(l)
दुर्भाग्य से, यह मुझे त्रुटि देता है:
Traceback (most recent call last):
File "mnist.py", line 7, in <module>
train_set, valid_set, test_set = pickle.load(f)
UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 614: ordinal not in range(128)
मैंने तब पायथन 2.7 में पिक फ़ाइल को डिकोड करने की कोशिश की, और इसे फिर से एनकोड किया। इसलिए, मैंने पायथन 2.7 में इस कार्यक्रम को चलाया:
import pickle
import gzip
import numpy
with gzip.open('mnist.pkl.gz', 'rb') as f:
train_set, valid_set, test_set = pickle.load(f)
# Printing out the three objects reveals that they are
# all pairs containing numpy arrays.
with gzip.open('mnistx.pkl.gz', 'wb') as g:
pickle.dump(
(train_set, valid_set, test_set),
g,
protocol=2) # I also tried protocol 0.
यह त्रुटि के बिना चला, इसलिए मैंने पायथन 3.2 में इस कार्यक्रम को फिर से चलाया:
import pickle
import gzip
import numpy
# note the filename change
with gzip.open('mnistx.pkl.gz', 'rb') as f:
l = list(pickle.load(f))
print(l)
हालाँकि, इसने मुझे पहले की तरह ही त्रुटि दी। मैं इससे कैसे काम लूं?