解决:UnicodeDecodeError: 'utf-8' codec can't decode的问题

解决: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、打开文件的方式

解决:UnicodeDecodeError: 'utf-8' codec can't decode的问题

同样报错。

4、最后我们检查了我需要读入的数据文件,发现设置的3000000行,结果实际数据只有2998583行,存在空行,所以才报错。

解决:UnicodeDecodeError: 'utf-8' codec can't decode的问题

 

找到问题以后,我们就设置只让它读到2998583:

(在utils_any2vec文件的第374行改了一下),如下:

解决:UnicodeDecodeError: 'utf-8' codec can't decode的问题

数据读入以后,代码就没有报错了。

解决:UnicodeDecodeError: 'utf-8' codec can't decode的问题

相关文章: