描述
- 我在做mnist项目的时候,需要读取
mnist.pkl.gz
文件,找到示例代码如下:
import cPickle
import gzip
f = gzip.open('../data/mnist.pkl.gz')
training_data, validation_data, test_data = cPickle.load(f)
f.close()
Bug_1. 没有cPickle
这个模块
-
CPickle
这个模块是Python2中的,Python3中换成了pickle
,修改代码如下:
import pickle
import gzip
f = gzip.open('../data/mnist.pkl.gz')
training_data, validation_data, test_data = pickle.load(f)
f.close()
Bug_2. 如下:
UnicodeDecodeError Traceback (most recent call last)
<ipython-input-3-8d9106f12f50> in <module>()
1 f = gzip.open('data/mnist.pkl.gz')
----> 2 train_data, cv_data, test_data = pickle.load(f)
3 f.close()
UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 614: ordinal not in range(128)
f = gzip.open('data/mnist.pkl.gz')
train_data, cv_data, test_data = pickle.load(f, encoding='iso-8859-1')
f.close()
数据可以读入, 完工!