美文网首页
Python3:pickle加载文件产生UnicodeDecod

Python3:pickle加载文件产生UnicodeDecod

作者: ACphart | 来源:发表于2018-09-07 19:29 被阅读43次

描述

  • 我在做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()

数据可以读入, 完工!

相关文章

网友评论

      本文标题:Python3:pickle加载文件产生UnicodeDecod

      本文链接:https://www.haomeiwen.com/subject/ssqhgftx.html