解决:UnicodeDecodeError: 'utf-8' codec can't decode的问题
代码是基于TensorFlow的一个模型,与词向量有关,一运行便出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbd in position 0: invalid continuation byte 的错误,上网百度了好多,也尝试了一些方法解决,无果。
最终在实验室同学的帮助下解决了这个问题。
1、百度最先给出的方法当然是在文件头加
# -*- coding: utf-8 -*-
# coding: utf-8
基本没用,
2、注意所打开文件的编码方式,我也检查了,确实是utf-8
3、打开文件的方式
同样报错。
4、最后我们检查了我需要读入的数据文件,发现设置的3000000行,结果实际数据只有2998583行,存在空行,所以才报错。
找到问题以后,我们就设置只让它读到2998583:
(在utils_any2vec文件的第374行改了一下),如下:
数据读入以后,代码就没有报错了。