當前位置:
首頁 > 知識 > 用PyTorch 0.4 實現的 YoloV3

用PyTorch 0.4 實現的 YoloV3

該庫 fork 自 @github/marvis 的pytorch-yolo2,不過作者沒有直接修改或者更新marvis 的源文件,因為很多文件已經改了文件名。所以本庫和源文件有很大的差異,主要差異有以下幾點:

某些程序是針對 Windows 環境重新構建的,例如 __name__ =="__ main __"(python程序中的變數)用於檢查多線程;

載入和保存權重被修改為與 yolov2 和 yolov3 版本兼容(意味著此存儲庫適用於 yolov2 和 yolov3 配置而無需修改源代碼。);

完全支持 yolov3 檢測和訓練;

region_loss.py 重命名為 region_layer.py;

region_layer.py 和 yolo_layer.py 的輸出包含在字典變數中;

代碼被修改為在 pytorch 0.4 和 python3 上工作;

修改了一些代碼以加快讀數並簡化讀數。 (我不確定.. T_T)

在訓練模式下,檢查 nan 值並使用梯度裁剪。

如果您想了解訓練和檢測程序,請參閱 https://github.com/marvis/pytorch-yolo2 了解詳細信息。

Github 鏈接:

https://github.com/andy-yun/pytorch-0.4-yolov3

按如下方式訓練你的數據、coco、voc data:

pythontrain.py-d cfg/coco.data -ccfg/yolo_v3.cfg -wyolov3.weights

新的權重保存在備份目錄中以及時期編號(保存最後 5 個權重,您可以控制train.py中的備份數量)

上面的命令顯示了培訓過程的示例。 我沒有執行上面的命令。 但是,我用預訓練的yolov3.weights成功地訓練了自己的數據。

您應該注意到,在yolov2或yolov3模型中使用時,錨信息是不同的。

如果要將預訓練的權重用作初始權重,請在training命令中添加-r選項

pythontrain.py-d cfg/my.data -ccfg/my.cfg -wyolov3.weights -r

最大的 epochs 選項是自動計算的,有時候會很小,所以你要在設置中修改 max_epochs。

為我自己的數據記錄了 yolov2 和 yolov3 訓練

單擊圖像後,視頻將在 yoube.com 上播放

yolo2 訓練記錄,鏈接:

https://www.youtube.com/watch?v=jhoaVeqtOQw

yolo3 訓練記錄,鏈接:

https://www.youtube.com/watch?v=zazKAm9FClc

詳細信息請查閱官方 Github 頁面:

https://github.com/andy-yun/pytorch-0.4-yolov3


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

微軟發布的可視化圖像/視頻標記工具 VoTT
美圖邀你挑戰短視頻分類極限,26 萬獎金池等你瓜分

TAG:AI研習社 |