【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';

具体如下所示:

 

 最后运行就没有再报错,问题成功解决。

 

 

posted @ 2021-08-04 11:59  程序员龙一  阅读(1797)  评论(0编辑  收藏  举报