用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
※微軟發布的可視化圖像/視頻標記工具 VoTT
※美圖邀你挑戰短視頻分類極限,26 萬獎金池等你瓜分
TAG:AI研習社 |