暗網目標偵測框架與 YOLO
Downcodes 編輯更新了公共 BitTorrent 追蹤器列表
清單
這些清單每天都會自動更新。最後更新2024年10月31日:
您有 DNS 問題嗎?這些清單包含相同的追蹤器,但使用 IP 位址而不是網域:
筆記
貢獻
接觸
ngosang [@] hotmail [.es]
第三方工具
第三方線上工具
例子:
Apache-2.0 許可證
目錄
暗網目標偵測框架與 YOLO
文件
一般資訊
暗網版本
MSCOCO 預訓練權重
大樓
Google合作實驗室
Linux CMake方法
Windows CMake方法
使用暗網
命令列介面
訓練
其他工具和鏈接
路線圖
短期目標
中期目標
長期目標
暗網目標偵測框架與 YOLO
Darknet 是一個開源神經網路框架,主要以 C、C++ 和 CUDA 編寫。
YOLO(You Only Look Once)是在 Darknet 框架內運行的尖端即時物體偵測系統。
了解 Hank.ai 如何支持 Darknet/YOLO 社群。
探索 Darknet/YOLO 網站。
請參閱 Darknet/YOLO 常見問題以取得常見問題的答案。
加入 Darknet/YOLO Discord 伺服器進行討論並尋求協助。
文件
1.論文YOLOv7
2. 紙尺度-YOLOv4
3.論文YOLOv4
4.論文YOLOv3
一般資訊
Darknet/YOLO 框架在速度和準確性方面始終優於其他框架和 YOLO 版本。
該框架完全免費且開源。您可以將 Darknet/YOLO 整合到您的專案和產品中,甚至是商業項目和產品中,而無需許可證或產生費用。
Darknet V3(「Jazz」)於 2024 年 10 月發布,可使用 NVIDIA RTX 3090 GPU 以高達 1000 FPS 的速度高效運行樂高資料集影片。這意味著 Darknet/YOLO 可以在 1 毫秒或更短的時間內處理每個視訊畫面(讀取、調整大小和處理)。
如果您需要協助或希望討論 Darknet/YOLO,請加入 Darknet/YOLO Discord 伺服器:https://discord.gg/zSq8rtW
Darknet/YOLO 的 CPU 版本可在各種裝置上運行,包括 Raspberry Pi、雲端和 Colab 伺服器、桌上型電腦、筆記型電腦和高階訓練設備。 GPU 版本需要支援 CUDA 的 NVIDIA GPU。
眾所周知,Darknet/YOLO 與 Linux、Windows 和 Mac 相容。有關詳細信息,請參閱下面的構建說明。
暗網版本
Joseph Redmon 在 2013 年至 2017 年間開發的原始暗網工具缺少版本號。我們認為這個版本是 0.x。
隨後流行的 Darknet 儲存庫由 Alexey Bochkovskiy 在 2017 年至 2021 年期間維護,也沒有版本號。我們認為這個版本是 1.x。
自 2023 年以來,由 Hank.ai 贊助並由 Stéphane Charette 維護的 Darknet 儲存庫是第一個包含版本命令的儲存庫。它從 2023 年到 2024 年底返回了版本 2.x「OAK」。
主要目標是盡量減少對現有功能的干擾,同時熟悉程式碼庫。
主要變化:
統一建置:重寫建置步驟,使用 Windows 和 Linux 的 CMake 建立單一、一致的方法。
C++ 遷移:轉換程式碼庫以利用 C++ 編譯器。
增強圖表:改進了訓練過程中的chart.png視覺化。
錯誤修復和最佳化:解決了許多錯誤並實施了效能最佳化,主要專注於減少訓練時間。
該程式碼庫的最後一個分支是版本 2.1,位於 v2 分支中。
下一階段的開發於 2024 年中期開始,並最終於 2024 年 10 月發布 3.x「JAZZ」版本。
Darknet V3(「Jazz」)主要改進:
表現:訓練和推理期間的顯著表現最佳化。
API 變更:修改了舊版 C API。使用原始 Darknet API 的應用程式將需要進行細微調整。請參閱:https://darknetcv.ai/api/api.html
新 API:引進了新的 Darknet V3 C 和 C++ API:https://darknetcv.ai/api/api.html
更新的範例:在 src-examples 目錄中新增了新的應用程式和範例程式碼:https://darknetcv.ai/api/files.html
如果需要執行特定命令,您可以隨時恢復到先前的 v2 分支。如果您遇到任何遺失的命令,請通知我們,以便我們嘗試將它們合併回來。
Darknet V3(「Jazz」)金鑰刪除:
過時的命令:刪除了許多過時和未維護的命令。
MSCOCO 預訓練權重
為了方便起見,YOLO 的幾個流行版本已經在 MSCOCO 資料集上進行了預訓練。該資料集包含 80 個類,可以在文字檔案 cfg/coco.names 中找到。
除了 MSCOCO 之外,其他各種更簡單的資料集和預訓練權重也可用於測試 Darknet/YOLO,例如 LEGO Gears 和 Rolodex。請查看 Darknet/YOLO 常見問題以了解詳細資訊。
MSCOCO 預訓練權重可從多個來源下載,包括此儲存庫:
YOLOv2,2016 年 11 月:
YOLOv2-微小
YOLOv2-full
YOLOv3,2018 年 5 月:
YOLOv3-微小
YOLOv3-full
YOLOv4,2020 年 5 月:
YOLOv4-小
YOLOv4-full
YOLOv7,2022 年 8 月:
YOLOv7-微小
YOLOv7-full
MSCOCO 預訓練權重僅用於演示目的。 MSCOCO 對應的 .cfg 和 .names 檔案位於 cfg 目錄中。命令範例:
`bash
wget --no-clobber https://github.com/hank-ai/darknet/releases/download/v2.0/yolov4-tiny.weights darknet02displayannotatedatedimages coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg
darknet03display_videos coco.names yolov4-tiny.cfg yolov4-tiny.weights video1.avi
DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg
DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights video1.avi
`
請記住,我們鼓勵用戶訓練自己的網路。 MSCOCO 主要用於驗證一切是否正常運作。
大樓
2023 年之前採用的多種建構方法已整合為統一的解決方案。 Darknet 需要 C++17 或更新版本 OpenCV,並利用 CMake 產生必要的專案檔。
您不需要精通 C++ 來建造、安裝或運行 Darknet/YOLO,就像您不需要成為機械師來駕駛汽車一樣。
Google合作實驗室
Google Colab 指令反映了 Linux 指令。幾個 Jupyter 筆記本示範了各種任務,例如訓練新網路。
瀏覽 colab 子目錄中的筆記本或按照下面提供的 Linux 說明進行操作。
Linux CMake方法
Linux 暗網建置教學課程
選購:如果您擁有現代 NVIDIA GPU,請在此時安裝 CUDA 或 CUDA+cuDNN。如果安裝,Darknet 將利用您的 GPU 加速映像(和影片)處理。
您必須從 Darknet 建置目錄中刪除 CMakeCache.txt 文件,以強制 CMake 重新發現所有必要的文件。
記得重建暗網。
沒有它們,Darknet 也可以運行,但如果您打算訓練自訂網絡,則需要 CUDA 或 CUDA+cuDNN。
1. 安裝 CUDA:造訪 https://developer.nvidia.com/cuda-downloads 下載並安裝 CUDA。
2. 安裝 cuDNN:造訪 https://developer.nvidia.com/rdp/cudnn-download 或 https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn-package-manager-安裝概述下載並安裝cuDNN。
安裝 CUDA 後,請確保可以執行 nvcc 和 nvidia-smi。您可能需要修改 PATH 變數。
如果您稍後安裝 CUDA 或 CUDA+cuDNN,或升級到較新的 NVIDIA 軟體版本:
升級 CMake:如果您的 CMake 版本已過時,請使用以下指令升級:
`bash
sudo apt-get purge cmake
sudo snap install cmake --經典
`
重新啟動 Shell:如果使用 bash 作為命令 shell,請重新啟動 shell。如果使用fish,路徑應該會自動更新。
建構暗網:
`bash
sudo apt-get install build-essential git libopencv-dev cmake
mkdir ~/srccd ~/src
git 克隆 https://github.com/hank-ai/darknetcd darknet
mkdir buildcd build
cmake -DCMAKEBUILDTYPE=發布 ..
使-j4
包裹
sudo dpkg -i darknet-VERSION.deb
`
進階用戶:
RPM 安裝:若要建立 RPM 安裝檔而不是 DEB 文件,請修改 CM_package.cmake 中的相關行。在執行 make -j4 package 之前,請編輯以下行:
`cmake
設定(CPACKGENERATOR“DEB”)#設定(CPACKGENERATOR“RPM”)
`
對於 CentOS 和 OpenSUSE 等發行版,請將行調整為:
`cmake
設定(CPACK_GENERATOR“DEB”)
設定(CPACK_GENERATOR“RPM”)
`
安裝套件:使用發行版的套件管理器完成建置後安裝套件。對於基於 Debian 的系統(例如 Ubuntu):
`bash
sudo dpkg -i darknet-2.0.1-Linux.deb
`
安裝 .deb 套件將複製以下檔案:
/usr/bin/darknet:標準的 Darknet 執行檔。從 CLI 運行 darknet 版本以確認其安裝正確。
/usr/include/darknet.h: C、C++ 和 Python 開發人員的 Darknet API。
/usr/include/darknet_version.h:包含開發人員的版本資訊。
/usr/lib/libdarknet.so:用於 C、C++ 和 Python 開發中連結的函式庫。
/opt/darknet/cfg/...:儲存所有.cfg 範本。
恭喜! Darknet 已建置並安裝在 /usr/bin/ 中。運行darknet版本進行驗證。
如果你缺少 /usr/bin/darknet,那麼你只是建立了 Darknet,而不是安裝它。確保按照上面所述安裝 .deb 或 .rpm 檔案。
Windows CMake方法
這些說明假定全新安裝 Windows 11 22H2。
1. 安裝先決條件:開啟標準 cmd.exe 命令提示字元並執行下列命令:
`bash
winget 安裝 Git.Git
winget 安裝 Kitware.CMake
winget安裝nsis.nsis
winget安裝Microsoft.VisualStudio.2022.社區
`
2.修改Visual Studio:設定Visual Studio以支援C++應用程式:
點擊“Windows 開始”功能表並執行“Visual Studio 安裝程式”。
選擇“修改”。
選擇“使用 C++ 進行桌面開發”。
點擊右下角的“修改”,然後按一下“是”。
3.開發人員命令提示字元:安裝完成後,按一下「Windows開始」功能表,選擇「VS 2022的開發人員命令提示字元」。不要使用 PowerShell 執行這些步驟,因為它可能會導致問題!
進階用戶:
您可以選擇普通命令提示字元或透過 SSH 連線並手動執行“Program FilesMicrosoft Visual Studio2022CommunityCommon7ToolsVsDevCmd.bat”,而不是使用開發人員命令提示字元。
4. 安裝 Microsoft VCPKG:在開發人員命令提示字元(不是 PowerShell)中執行下列命令來安裝 Microsoft VCPKG,它將用於建置 OpenCV:
`bash
疾病管制署:
mkdir c:src
cd c:src
git 克隆 https://github.com/microsoft/vcpkg
cd vcpkg
bootstrap-vcpkg.bat
.vcpkg.exe整合安裝
.vcpkg.exe 整合 powershell.vcpkg.exe 安裝 opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
`
最後一步請耐心等待,因為可能需要相當長的時間才能完成。它涉及下載和構建大量組件。
進階用戶:
請注意,建置 OpenCV 時可以包含許多可選模組。運行 .vcpkg.exe 搜尋 opencv 以查看完整清單。
選用:如果您有現代 NVIDIA GPU,則此時可以安裝 CUDA 或 CUDA+cuDNN。如果安裝,Darknet 將使用您的 GPU 來加速映像(和視訊)處理。
您必須從 Darknet 建置目錄中刪除 CMakeCache.txt 文件,以強制 CMake 重新尋找所有必要的文件。
記得重建暗網。
Darknet 可以在沒有它的情況下運行,但如果您想訓練自訂網絡,則需要 CUDA 或 CUDA+cuDNN。
造訪 https://developer.nvidia.com/cuda-downloads 下載並安裝 CUDA。
造訪 https://developer.nvidia.com/rdp/cudnn-download 或 https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#download-windows 下載並安裝 cuDNN。
安裝 CUDA 後,請確保可以執行 nvcc.exe 和 nvidia-smi.exe。您可能必須修改 PATH 變數。
下載 cuDNN 後,解壓縮並將 bin、include 和 lib 目錄複製到 C:/Program Files/NVIDIA GPU Compute Toolkit/CUDA/[version]/ 中。您可能需要覆蓋一些文件。
如果您稍後安裝 CUDA 或 CUDA+cuDNN,或升級到較新版本的 NVIDIA 軟體:
CUDA 必須在 Visual Studio 之後安裝。如果升級 Visual Studio,請記得重新安裝 CUDA。
5. 複製並建構 Darknet:成功完成前面的步驟後,複製並建構 Darknet。在此步驟中,指定 CMake 的 VCPKG 位置以尋找 OpenCV 和其他依賴項:
`bash
cd c:src
git 克隆 https://github.com/hank-ai/darknet.git
CD暗網
mkdir 構建
光碟建構
cmake -DCMAKEBUILDTYPE=發布-DCMAKETOOLCHAINFILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake ..
msbuild.exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln
msbuild.exe /property:平台=x64;設定=發布 PACKAGE.vcxproj
`
如果遇到缺少 CUDA 或 cuDNN DLL(例如 cublas64_12.dll)的錯誤,請手動將 CUDA .dll 檔案複製到與 darknet.exe 相同的輸出目錄。例如:
`bash
複製“C:Program FilesNVIDIA GPU計算工具包CUDAv12.2bin * .dll”src-cliRelease
`
(這是一個範例!驗證您的運行版本並使用適合您的安裝的命令。)
複製檔案後,重新執行最後的msbuild.exe指令來產生NSIS安裝包:
`bash
msbuild.exe /property:平台=x64;設定=發布 PACKAGE.vcxproj
`
進階用戶:
請注意,cmake 指令的輸出是標準 Visual Studio 解決方案檔案 (Darknet.sln)。如果您是軟體開發人員,偏好使用 Visual Studio GUI 而不是 msbuild.exe 來建立項目,則可以跳過命令列步驟並在 Visual Studio 中載入 Darknet 專案。
您現在應該擁有可執行檔 C:srcDarknetbuildsrc-cliReleasedarknet.exe。運行它來測試:C:srcDarknetbuildsrc-cliReleasedarknet.exe 版本。
若要正確安裝 Darknet、其程式庫、包含檔案和所需的 DLL,請執行上一個步驟中產生的 NSIS 安裝精靈。在建置目錄中找到檔案 darknet-VERSION.exe。例如:
`bash
darknet-2.0.31-win64.exe
`
安裝 NSIS 安裝包將:
建立一個名為 Darknet 的目錄,例如 C:Program FilesDarknet。
安裝 CLI 應用程式 (darknet.exe) 和其他範例應用程式。
安裝必要的第 3 方 .dll 文件,例如 OpenCV 中的文件。
安裝所需的 Darknet .dll、.lib 和 .h 文件,以便從其他應用程式使用 darknet.dll。
安裝模板 .cfg 檔案。
現在你已經完成了!安裝精靈完成後,Darknet 將安裝在 C:Program FilesDarknet 中。透過執行:C:Program FilesDarknetbindarknet.exe 版本進行測試。
如果缺少 C:/Program Files/darknet/bin/darknet.exe,則僅建置 Darknet,而不安裝。確保完成上一個步驟中 NSIS 安裝精靈的每個面板。
使用暗網
命令列介面
以下不是 Darknet 支援的所有命令的完整列表。
除了 Darknet CLI 之外,請記住 DarkHelp 專案 CLI,它提供了 Darknet/YOLO 的替代 CLI。 DarkHelp CLI 包含在 Darknet 中無法直接存取的各種進階功能。您可以同時使用 Darknet CLI 和 DarkHelp CLI;它們並不互相排斥。
對於下面的大多數命令,您將需要 .weights 檔案及其對應的 .names 和 .cfg 檔案。您可以訓練自己的網路(強烈建議!)或下載某人免費在線提供的預先訓練的神經網路。一些預訓練的資料集包括:
LEGO Gears(影像中的物件偵測)
Rolodex(影像中的文字偵測)
MSCOCO(標準80級物體偵測)
運行命令:
可能的命令和選項清單:
`bash
暗網幫助
`
檢查版本:
`bash
暗網版本
`
使用影像預測:
V2:
`bash
暗網探測器測試 cars.data cars.cfg cars_best.weights image1.jpg
`
V3:
`bash
darknet02displayannotatedimages cars.cfg image1.jpg
`
黑暗幫助:
`bash
DarkHelp cars.cfg cars.cfg cars_best.weights image1.jpg
`
輸出座標:
V2:
`bash
暗網探測器測試animals.dataanimals.cfganimalsbest.weights-extoutputdog.jpg
`
V3:
`bash
darknet01inference_images 動物 狗.jpg
`
黑暗幫助:
`bash
DarkHelp --json Animals.cfg Animals.names Animals_best.weights Dog.jpg
`
處理影片:
V2:
`bash
暗網探測器示範 Animals.data Animals.cfg Animalbest.weights -extoutput test.mp4
`
V3:
`bash
darknet03display_videos Animals.cfg test.mp4
`
黑暗幫助:
`bash
DarkHelp Animals.cfg Animals.names Animals_best.weights test.mp4
`
從網路攝影機讀取:
V2:
`bash
暗網探測器示範 Animals.data Animals.cfg Animals_best.weights -c 0
`
V3:
`bash
darknet08display_網路攝影機動物
`
將結果儲存到影片:
V2:
`bash
暗網探測器示範 Animals.data Animals.cfg Animalbest.weights test.mp4 -outfilename res.avi
`
V3:
`bash
darknet05processvideos多線程animals.cfganimals.namesanimals_best.weightstest.mp4
`
黑暗幫助:
`bash
DarkHelp Animals.cfg Animals.names Animals_best.weights test.mp4
`
JSON:
V2:
`bash
暗網探測器示範 Animals.data Animals.cfg Animalbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
`
V3:
`bash
darknet06imagestojson 動物 image1.jpg
`
黑暗幫助:
`bash
DarkHelp --json Animals.names Animals.cfg Animals_best.weights image1.jpg
`
在特定 GPU 上運行:
V2:
`bash
暗網探測器示範 Animals.data Animals.cfg Animals_best.weights -i 1 test.mp4
`
檢查神經網路的準確性:
`bash
暗網探測器地圖 Driving.data Driving.cfg moving_best.weights ...
ID 名稱 AvgPrecision TP FN FP TN 準確率 錯誤率 精確率 召回率 特異度 FalsePosRate
------ ------------ ------ ------ ------ ------ -------- --------- --------- ------ ----------- ------------
0 輛 91.2495 32648 3903 5826 65129 0.9095 0.0905 0.8486 0.8932 0.9179 0.0821
1 摩托車 80.4499 2936 513 569 5393 0.8850 0.1150 0.8377 0.8513 0.9046 0.0954
2 自行車 89.0912 570 124 104 3548 0.9475 0.0525 0.8457 0.8213 0.9715 0.0285
3人 76.7937 7072 1727 2574 27523 0.8894 0.1106 0.7332 0.8037 0.9145 0.0855
4多輛車 64.3089 1068 509 733 11288 0.9087 0.0913 0.5930 0.6772 0.9390 0.0610
5 綠光 86.8118 1969 239 510 4116 0.8904 0.1096 0.7943 0.8918 0.8898 0.1102
6 黃光 82.0390 126 38 30 1239 0.9525 0.0475 0.8077 0.7683 0.9764 0.0236
7 紅光 94.1033 3449 217 451 4643 0.9237 0.0763 0.8844 0.9408 0.9115 0.0885
`
檢查精度 mAP@IoU=75:
`bash
暗網探測器地圖animals.dataanimals.cfganimalsbest.weights-iothresh 0.75
`
重新計算錨點:錨點重新計算最好在 DarkMark 中執行,因為它將連續運行 100 次並從所有計算選項中選擇最佳錨點。但是,如果您想使用舊的暗網方法:
`bash
暗網探測器 calcanchors Animals.data -numof_clusters 6 -寬度 320 -高度 256
`
訓練新網路:
`bash
cd ~/nn/動物/
暗網探測器-map-dont_show火車animals.dataanimals.cfg
`
(有關更多詳細信息,請參閱下面的培訓部分。)
訓練
暗網/YOLO 常見問題相關部分的快速連結:
文件和目錄設定:我應該如何設定我的文件和目錄?
設定檔:我應該使用哪個設定檔?
訓練指令:訓練自己的網路時應該使用什麼指令?
最簡單的註解和訓練方法是使用 DarkMark。它簡化了創建所有必要的暗網檔案的過程。強烈建議使用 DarkMark 來訓練新的神經網路。
如果您喜歡手動設定自訂網路訓練的檔案:
1. 建立資料夾:新建一個資料夾來存放檔案。對於這個例子,我們將創建一個神經網路來檢測動物;因此,建立以下目錄:~/nn/animals/。
2. 複製設定檔:複製您要用作範本的暗網設定檔。例如,請參閱 cfg/yolov4-tiny.cfg。將其放入已建立的資料夾中。在此範例中,我們現在有 ~/nn/animals/animals.cfg。
3. 建立animals.names:在與設定檔相同的資料夾中建立名為animals.names 的文字檔案。此範例現在有 ~/nn/animals/animals.names。
4. 編輯animals.names:使用文字編輯器編輯animals.names 檔案。列出您打算使用的類別。每個類別應該佔據單獨的一行,沒有任何空白行或註解。在此範例中,.names 檔案將包含四行:
`
狗
貓
鳥
馬
`
5. 建立animals.data:在同一資料夾中建立animals.data 文字檔。對於此範例,.data 檔案將包含:
`
班級 = 4
火車 = /home/使用者名稱/nn/animals/animals_train.txt
有效 = /home/使用者名稱/nn/animals/animals_valid.txt
名稱 = /home/使用者名稱/nn/animals/animals.names
備份= /home/用戶名/nn/animals
`
6. 資料集資料夾:建立一個資料夾來儲存影像和註解。例如,這可能是 ~/nn/animals/dataset。每個圖像都需要一個相應的 .txt 檔案來描述其註釋。 .txt 註解文件的格式非常具體。您無法手動建立這些文件,因為每個註釋都需要精確的座標。利用 DarkMark 或類似軟體來註釋您的影像。 YOLO 註釋格式在 Darknet/YOLO FAQ 中有描述。
7.「train」和「valid」檔案:建立.data檔案中提到的「train」和「valid」文字檔。這兩個檔案需要單獨列出 Darknet 在計算 mAP% 時將用於訓練和驗證的所有影像。每行包含一張圖像。路徑和檔案名稱可以是相對的或絕對的。
8. 修改.cfg 檔案:使用文字編輯器修改.cfg 檔案。
確保批次=64。
觀察細分。根據您的網路尺寸和 GPU 記憶體容量,您可能需要增加細分。理想值為 1,因此從該值開始。如果 1 不適合您,請參閱 Darknet/YOLO 常見問題。
注意 maxbatches=..... 一個好的起始值是類別的 2000 倍。在這個例子中,我們有 4 隻動物,所以 4 * 2000 = 8000,意味著 maxbatches=8000。
注意steps=.....將其設定為maxbatch的80%和90%。在此範例中,將 maxbatches 設定為 8000,我們將使用 steps=6400,7200。
注意 width=... 和 height=..... 這些是網路尺寸。 Darknet/YOLO 常見問題解答說明如何決定最佳大小。
搜尋所有出現的 class=... 行,並使用 .names 檔案中的類別數對其進行修改。在此範例中,我們將使用classes=4。
在每個 [yolo] 部分之前的 [卷積] 部分中搜尋所有出現的 linefilters=... 。該值應為 (numberofclasses + 5) 3。
9.開始訓練:執行以下指令:
`bash
cd ~/nn/動物/
暗網探測器-map-dont_show火車animals.dataanimals.cfg
`
要有耐心。最佳權重將儲存為animals_best.weights。可以透過查看chart.png檔案來監控訓練進度。請參閱 Darknet/YOLO 常見問題解答,以了解訓練新網路時可能有用的其他參數。
要查看更多訓練詳細信息,請添加 --verbose 參數。例如:
`bash
暗網探測器-map-dont_show--verbose火車animals.dataanimals.cfg
`
其他工具和鏈接
要管理 Darknet/YOLO 專案、註釋圖像、驗證註釋以及產生使用 Darknet 進行訓練所需的文件,請參閱 DarkMark。
如需 Darknet 的強大替代 CLI、利用圖像平鋪、影片中的物件追蹤或用於商業應用程式的強大 C++ API,請探索 DarkHelp。
檢查 Darknet/YOLO 常見問題是否可以解決您的問題。
在 Stéphane 的 YouTube 頻道上查看大量教學和範例影片。
如果您有支援諮詢或想要與其他 Darknet/YOLO 使用者互動,請加入 Darknet/YOLO Discord 伺服器。
路線圖
最後更新於 2024 年 10 月 30 日:
完全的:
1. 在訓練期間以 std::sort() 取代 qsort() (仍存在一些模糊的實例)。
2. 刪除了 check_mistakes、getchar() 和 system()。
3. 將 Darknet 轉換為使用 C++ 編譯器(Linux 上為 g++,Windows 上為 VisualStudio)。
4.修復了Windows版本。
5.修復了Python支援。
6. 建置暗網庫。
7. 重新啟用預測標籤(「字母」代碼)。
8. 重新啟用 CUDA/GPU 代碼。
9. 重新啟用CUDNN。
10. 重新啟用 CUDNN 一半。
11. 避免對 CUDA 架構進行硬編碼。
12.增強CUDA版本資訊。
13.重新啟用AVX。
14.刪除了舊的解決方案和Makefile。
15. 強制使用 OpenCV。
16. 刪除了對舊 pthread 函式庫的依賴。
17. 刪除機上盒。
18. 重寫 CMakeLists.txt 以納入新的 CUDA 偵測。
19. 刪除了舊的「字母」代碼並刪除了資料/標籤中的 700 多個圖像。
20. 外部建置。
21.改進版本號輸出。
22.實施與培訓相關的績效優化(正在進行的任務)。
23. 實施與推理相關的效能最佳化(正在進行的任務)。
24. 盡可能使用引用傳遞。
25. 清理.hpp 檔案。
26.重寫darknet.h。
27. 避免將 cv::Mat 轉換為 void* 並將其用作正確的 C++ 物件。
28.固定或確保內部影像結構使用方式的一致性。
29. 修正了基於 ARM 的 Jetson 裝置的建置。
30. 原始 Jetson 設備不太可能修復,因為 NVIDIA 不再支援它們(沒有 C++17 編譯器)。
31. 新的 Jetson Orin 設備可以正常運作。
32.修復了V3中的Python API。
短期目標:
1. 將 printf() 替換為 std::cout(正在進行中)。
2. 重新審視舊的 zed 相機支援。
3.改進和增強命令列解析一致性(正在進行中)。
中期目標:
1. 刪除所有 char* 程式碼並將其替換為 std::string。
2.消除隱藏警告並清理編譯器警告(正在進行中)。
3. 更好地利用 cv::Mat 而不是 C 中的自訂影像結構(正在進行中)。
4. 用 std::vector 或 std::list 取代舊的清單功能。
5. 修復對 1 通道灰階影像的支援。
6. 增加對 N 通道影像(其中 N > 3)的支援(例如,具有附加深度或熱通道的影像)。
7. 持續的程式碼清理(正在進行中)。
長期目標:
1. 解決所有 GPU 上的 CUDA/CUDNN 問題。
2.重寫CUDA+cuDNN程式碼。
3. 研究增加對非 NVIDIA GPU 的支援。
4. 引入旋轉邊界框或某種形式的「角度」支援。
5. 合併關鍵點/骨架。
6. 整合熱圖(正在進行中)。
7. 實施細分。