成功解决Python3版UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 614: ordinal not in

成功解决Python3版UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0x90 in position 614: ordinal not in

解决问题

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0x90 in position 614: ordinal not in range(128)

解决过程
1、最近在做深度学习的项目,在调用GitHub上的文件时,想利用mnist_loader的数据集,没想到运行以后出现了错误UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0x90 in position 614: ordinal not in range(128)

2、于是,笔者就各种百度啊,,各种度,国内外的,但是答案差不多都有一种,就是添加以下代码
在这里插入图片描述

3、可是,笔者在python中各种加入,各种尝试,还把utf8改为gbk试了好几次,又出现了这个错误,我去去去!
在这里插入图片描述
4、笔者又不厌其烦的跑去百度,各种度,国内外的,最后发现了预料中的一件事,在Python 3.x中不好使了提示name reload’ is not defined,在3.x中已经被毙掉了被替换为

from imp import reload
reload(sys)

5、于是,笔者陷入了沉思,也就是睡着了,哈哈,开玩笑,继续谷歌、百度啦,直到发现了下边这句话,
在这里插入图片描述
6、皇天不负有心人,哈哈,终于改对啦,谢谢小梦dream,

解决方法 将

training_data, validation_data, test_data = cPickle.load(f)

改为

training_data, validation_data, test_data = cPickle.load(f,encoding=‘bytes’)


分割线
结合上面两位的方案的确能够解决问题,但根据实际情况还是有所区别
其中 cPickle 也已经改为pickle 如下是我修改后的正确代码

import pickle
train, val, test = pickle.load(f, encoding=‘bytes’)

————————————————
版权声明:本文为CSDN博主「一个处女座的程序猿」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41185868/article/details/79039604

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值