WongKinYiu / PyTorch_YOLOv4

PyTorch implementation of YOLOv4
1.86k stars 585 forks source link

How to solve this error? RuntimeError: indices should be either on cpu or on the same device as the indexed tensor (cpu) #424

Open MheadHero opened 1 year ago

MheadHero commented 1 year ago

Traceback (most recent call last): File "/content/PyTorch_YOLOv4/train.py", line 537, in train(hyp, opt, device, tb_writer, wandb) File "/content/PyTorch_YOLOv4/train.py", line 288, in train loss, loss_items = compute_loss(pred, targets.to(device), model) # loss scaled by batch_size File "/content/PyTorch_YOLOv4/utils/loss.py", line 69, in compute_loss tcls, tbox, indices, anchors = build_targets(p, targets, model) # targets File "/content/PyTorch_YOLOv4/utils/loss.py", line 151, in build_targets a, t = at[j], t.repeat(na, 1, 1)[j] # filter RuntimeError: indices should be either on cpu or on the same device as the indexed tensor (cpu)

nanhai78 commented 1 year ago

i met same problem

MheadHero commented 1 year ago

i met same problem

lets try find some expert to help us out!

MheadHero commented 1 year ago

I have found a solution. Modify your loss.py

add at = at.to(targets.device) above a, t = at[j], t.repeat(na, 1, 1)[j] # filter

Then,

uncomment indices.append((b, a, gj, gi)) # image, anchor, grid indices comment indices.append((b, a, gj.clamp_(0, gain[3] - 1), gi.clamp_(0, gain[2] - 1))) # image, anchor, grid indices

This may solve the problem. Thank you.

nanhai78 commented 1 year ago

I have found a solution. Modify your loss.py

add at = at.to(targets.device) above a, t = at[j], t.repeat(na, 1, 1)[j] # filter

Then,

uncomment indices.append((b, a, gj, gi)) # image, anchor, grid indices comment indices.append((b, a, gj.clamp_(0, gain[3] - 1), gi.clamp_(0, gain[2] - 1))) # image, anchor, grid indices

This may solve the problem. Thank you. thank you very much

lyl-9 commented 1 year ago

Hi, could you please provide the pre-training weights for YOLOv4pacsp-x-mish? Thank you very much! @nanhai78 @MheadHero

nanhai78 commented 1 year ago

sorry, i don't have pre-trainning weights for ms COCO

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2023年4月22日(星期六) 中午11:16 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [WongKinYiu/PyTorch_YOLOv4] How to solve this error? RuntimeError: indices should be either on cpu or on the same device as the indexed tensor (cpu) (Issue #424)

Hi, could you please provide the pre-training weights for YOLOv4pacsp-x-mish? Thank you very much! @nanhai78 @MheadHero

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

lyl-9 commented 1 year ago

Do you have the pre-training weight of voc? @nanhai78