【yolo读取数据报错】UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 43: invalid continuation byte
问题:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 43: invalid continuation byte
具体如下图所示:
解决问题过程:
1、首先定位问题
首先可以定位问题出在yolo.py的87行出代码,因为后面的提示都是库文件里的具体代码;
结合最后的报错UnicodeDecodeError,可以发现是读取f文件的时候出现了编码问题;
2、定位问题代码
找到yolo.py的line 87,可以发现这里是在读取打开文件cfg,而cfg文件即是上面79行的yolov5l.yaml文件
3、分析问题
从报错信息:'utf-8' codec can't decode byte 0xd0 in position 43: invalid continuation byte,我们进行分析,可以知道应该是utf-8的编码无法解析byte 0xd0这样的一些信息;
4、解决问题
编码无法解析(不了解的可以百度了解一下),实际上编码有许多种形式,既然是无法解析,我就在读取的时候换一种合适的编码试试,于是在读取的代码出添加encoding = 'gb2312';
具体如下所示:
最后运行就没有再报错,问题成功解决。
关注公众号【龙一的编程life】,一起学习吧!