我的编程空间,编程开发者的网络收藏夹
学习永远不晚

RuntimeError: result type Float can‘t be cast to the desired output type __int64报错解决方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

RuntimeError: result type Float can‘t be cast to the desired output type __int64报错解决方法

  小白刚开始学习YOLOv5,跟随老哥的步骤走了一遍目标检测--手把手教你搭建自己的YOLOv5目标检测平台

  最后训练最后一步出现RuntimeError: result type Float can‘t be cast to the desired output type __int64报错

解决方法:找到5.0版报错的loss.py中最后那段for函数,将其整体替换为yolov5-master版中loss.py最后一段for函数即可正常运行

        for i in range(self.nl):            anchors, shape = self.anchors[i], p[i].shape            gain[2:6] = torch.tensor(shape)[[3, 2, 3, 2]]  # xyxy gain            # Match targets to anchors            t = targets * gain  # shape(3,n,7)            if nt:                # Matches                r = t[..., 4:6] / anchors[:, None]  # wh ratio                j = torch.max(r, 1 / r).max(2)[0] < self.hyp['anchor_t']  # compare                # j = wh_iou(anchors, t[:, 4:6]) > model.hyp['iou_t']  # iou(3,n)=wh_iou(anchors(3,2), gwh(n,2))                t = t[j]  # filter                # Offsets                gxy = t[:, 2:4]  # grid xy                gxi = gain[[2, 3]] - gxy  # inverse                j, k = ((gxy % 1 < g) & (gxy > 1)).T                l, m = ((gxi % 1 < g) & (gxi > 1)).T                j = torch.stack((torch.ones_like(j), j, k, l, m))                t = t.repeat((5, 1, 1))[j]                offsets = (torch.zeros_like(gxy)[None] + off[:, None])[j]            else:                t = targets[0]                offsets = 0            # Define            bc, gxy, gwh, a = t.chunk(4, 1)  # (image, class), grid xy, grid wh, anchors            a, (b, c) = a.long().view(-1), bc.long().T  # anchors, image, class            gij = (gxy - offsets).long()            gi, gj = gij.T  # grid indices            # Append            indices.append((b, a, gj.clamp_(0, shape[2] - 1), gi.clamp_(0, shape[3] - 1)))  # image, anchor, grid            tbox.append(torch.cat((gxy - gij, gwh), 1))  # box            anch.append(anchors[a])  # anchors            tcls.append(c)  # class

来源地址:https://blog.csdn.net/weixin_54713879/article/details/125612388

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

RuntimeError: result type Float can‘t be cast to the desired output type __int64报错解决方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

目录