在用yolov5训练自己的voc数据集的时候,在运行train.py的时候报错gbk无法解码的问题,其他的码我感觉还可以debug一下,但是作者的源码的话感觉我贸然更改的话只会产生更多的bug,而且用encoding=utf-8的话不知道具体用在什么位置来解决报错。所以想请教一下大佬们有遇见一样的问题吗?或者是大佬们告诉我一下自己跑yolov5时候用的环境。我是跟着最新的源码装的torch1.7来跑的。python用的3.7,1070显卡
程序就是yolov5的train.py https://github.com/ultralytics/YOLOv5
程序报错如下:
Traceback (most recent call last):
File "train.py", line 531, in <module>
train(hyp, opt, device, tb_writer, wandb)
File "train.py", line 63, in train
data_dict = yaml.load(f, Loader=yaml.SafeLoader ) # data dict
File "C:\Users\10097\anaconda3\envs\yolov5\lib\site-packages\yaml\__init__.py", line 112, in load
loader = Loader(stream)
File "C:\Users\10097\anaconda3\envs\yolov5\lib\site-packages\yaml\loader.py", line 34, in __init__
Reader.__init__(self, stream)
File "C:\Users\10097\anaconda3\envs\yolov5\lib\site-packages\yaml\reader.py", line 85, in __init__
self.determine_encoding()
File "C:\Users\10097\anaconda3\envs\yolov5\lib\site-packages\yaml\reader.py", line 124, in determine_encoding
self.update_raw()
File "C:\Users\10097\anaconda3\envs\yolov5\lib\site-packages\yaml\reader.py", line 178, in update_raw
data = self.stream.read(size)
UnicodeDecodeError: 'gbk' codec can't decode byte 0x84 in position 189: illegal multibyte sequence
怎么解决的,我是用的yolo格式的数据集呀,lables也是.txt,怎么还是报错
只需要将train.py里面的69行with open(hyp) as f: 改为 with open(hyp,'rb') as f:,将yolo.py里的86行with open(cfg) as f:也改为with open(cfg,'rb') as f:即可
yaml里面的类别名最好改成英文或者数字。还有你的标注格式和yaml文件要对应,最好按照U神的教程改成yolov5的格式。
https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data
错误一样,怎么解决的啊兄弟们
这些方法都试了,没用
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
我是把yaml最后的空行删掉就能跑了