当我在colab云端训练yolov5模型的时候发现一个错误:RuntimeError: result type Float can’t be cast to the desired output type long int
解决方法:
1.在yolo的文件夹下找到 yolov5/utils/loss.py 文件,第一处修改地方在178行左右,修改代码如下:
#anchors = self.anchors[i]
anchors, shape = self.anchors[i], p[i].shape
2.第二处修改代码如下:
修改前:
indices.append((b, a, gj.clamp_(0, gain[3] - 1), gi.clamp_(0, gain[2] - 1)))
修改后:
indices.append((b, a, gj.clamp_(0, shape[2] - 1), gi.clamp_(0, shape[3] - 1)))
修改之后就能正常训练了