JiayuanWang-JW / YOLOv8-multi-task

GNU Affero General Public License v3.0
235 stars 39 forks source link

RuntimeError: The size of tensor a (8000) must match the size of tensor b (8400) at non-singleton dimension 1 #64

Closed 1402091247 closed 3 months ago

1402091247 commented 3 months ago

大佬你好,我用自己的数据集来训练,结果报出错误:RuntimeError: The size of tensor a (8000) must match the size of tensor b (8400) at non-singleton dimension 1

--train.py修改内容 model.train(data='./datasets/bdd-multi.yaml', batch=16, epochs=300, imgsz=(640,640), device=[0], name='yolopm', val=True, task='multi',classes=[0,1,2,3],single_cls=True) 0,1,2是检测类别,3是分割类别

--bdd-multi.yaml修改内容: labels_list:

tnc: 4 # number of classes nc_list: [3,1]

map: [None,{'10':'0'},{'11':'0'}]

names: 0: 0 1: 1 2: 2 3: 3

--yolov8-bdd-v4-one-dropout-individual-n.yaml:只修改了tnc

请大佬答疑。

JiayuanWang-JW commented 3 months ago

你修改了分割任务类别数,所以模型文件也要删掉一个head,不然还是一个detection head,两个segmentation heads,可能出问题的原因在这里。