YOLOv5-6.0訓練出錯及解決方法(RuntimeError)

王纲發表於2024-10-24

知識經驗分享——YOLOv5-6.0訓練出錯及解決方法(RuntimeError)

不知道小夥伴們在訓練YOLOv5-6.0或者其他版本有沒有遇到以下問題:

RuntimeError: result type Float can't be cast to the desired output type long int

二、解決方法

步驟1:開啟utils/loss.py檔案

步驟2:找到 for i in range(self.nl) 函式(Ctrl+F),作以下替換:

YOLOv5-6.0訓練出錯及解決方法(RuntimeError)

替換程式碼:

anchors, shape = self.anchors[i], p[i].shape

替換之後:

YOLOv5-6.0訓練出錯及解決方法(RuntimeError)

步驟3:找到# Append部分(Ctrl+F),作以下替換:

YOLOv5-6.0訓練出錯及解決方法(RuntimeError)

替換程式碼:

indices.append((b, a, gj.clamp_(0, shape[2] - 1), gi.clamp_(0, shape[3] - 1)))

替換之後:

YOLOv5-6.0訓練出錯及解決方法(RuntimeError)

步驟4:順利執行train.py檔案

YOLOv5-6.0訓練出錯及解決方法(RuntimeError)
原文地址:知識經驗分享——YOLOv5-6.0訓練出錯及解決方法(RuntimeError) - 知乎

相關文章