이 프로그램을 사용하여 Python 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)
그런 다음 Python 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.
오류없이 실행되었으므로 Python 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)
그러나 이전과 같은 오류가 발생했습니다. 이것을 작동 시키려면 어떻게해야합니까?