RuntimeError: indices should be either on cpu or on the same device as the indexed tensor (cpu)

  • Post author:
  • Post category:其他


解决办法参照以下链接,亲测有效


https://stackoverflow.com/questions/74713315/yolov7-runtimeerror-indices-should-be-either-on-cpu-or-on-the-same-device-as

替换 yolo7/utils/loss.py文件中

“from_which_layer.append((torch.ones(size=(len(b),)) * i)”

为 “from_which_layer.append((torch.ones(size=(len(b),)) * i).to(‘cuda’))”,

在每行 “fg_mask_inboxes = matching_matrix.sum(0) > 0.0″ 代码后面添加一行新的代码”fg_mask_inboxes = fg_mask_inboxes.to(torch.device(‘cuda’))”

示例如下:

fg_mask_inboxes = matching_matrix.sum(0) > 0.0

fg_mask_inboxes = fg_mask_inboxes.to(torch.device(‘cuda’))

有多处需要添加



版权声明:本文为Ggggm_28原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。