暗網目標偵測框架與 YOLO
!darknet 和 hank.ai 徽標
Darknet 是一個用 C、C++ 和 CUDA 寫的開源神經網路框架。 YOLO(You Only Look Once)是一個最先進的即時目標偵測系統,在 Darknet 框架內運作。
了解 Hank.ai 如何幫助 Darknet/YOLO 社群:https://darknetcv.ai/
宣布推出 Darknet V3「Jazz」:https://darknetcv.ai/
請造訪 Darknet/YOLO 網站:https://github.com/hank-ai/darknet
請參閱 Darknet/YOLO 常見問題:https://darknetcv.ai/faq
加入 Darknet/YOLO Discord 伺服器:https://discord.gg/zSq8rtW
文件
1.論文YOLOv7:https://arxiv.org/abs/2207.02670
2.Paper Scaled-YOLOv4:https://arxiv.org/abs/2102.05226
3.論文YOLOv4:https://arxiv.org/abs/2004.10934
4.論文YOLOv3:https://pjreddie.com/media/files/papers/YOLOv3.pdf
一般資訊
Darknet/YOLO 框架仍然比其他框架和 YOLO 版本更快、更準確。
該框架是完全免費且開源的。您可以將 Darknet/YOLO 整合到現有專案和產品中(包括商業項目和產品),無需許可證或支付費用。
2024 年10 月發布的Darknet V3(“Jazz”)在使用NVIDIA RTX 3090 GPU 時可以以高達1000 FPS 的速度準確運行樂高數據集視頻,這意味著每個視頻幀都可以由Darknet/YOLO 在1 毫秒或1 毫秒內讀取、調整大小和處理。
如果您需要協助或想討論 Darknet/YOLO,請加入 Darknet/YOLO Discord 伺服器:https://discord.gg/zSq8rtW
Darknet/YOLO 的 CPU 版本可在簡單的裝置上運行,例如 Raspberry Pi、雲端和 Colab 伺服器、桌上型電腦、筆記型電腦和高階訓練設備。 Darknet/YOLO 的 GPU 版本需要 NVIDIA 提供的支援 CUDA 的 GPU。
眾所周知,Darknet/YOLO 可在 Linux、Windows 和 Mac 上運作。請參閱下面的建置說明。
暗網版本
Joseph Redmon 在 2013-2017 年所寫的原始暗網工具沒有版本號。我們認為這個版本是 0.x。
Alexey Bochkovskiy 在 2017 年至 2021 年間維護的下一個流行的暗網儲存庫也沒有版本號。我們認為這個版本是 1.x。
從 2023 年開始,由 Hank.ai 贊助並由 Stéphane Charette 維護的 Darknet 儲存庫是第一個帶有版本命令的儲存庫。從 2023 年到 2024 年底,它返回了版本 2.x「OAK」。
目標是在熟悉程式碼庫的同時嘗試盡可能少地破壞現有功能。主要變化包括:
1. 重寫 Windows 和 Linux 上統一 CMake 建置過程的建置步驟。
2. 轉換程式碼庫以使用 C++ 編譯器。
3. 增強訓練過程中chart.png的可視化。
4. 實施錯誤修復和效能優化,主要集中在減少訓練時間。
該程式碼庫的最後一個分支是 v2 分支中的版本 2.1。
下一階段的開發於 2024 年中期開始,並於 2024 年 10 月發布。
如果您需要執行這些命令之一,您可以隨時查看先前的 v2 分支。請告訴我們,以便我們研究添加回所有丟失的命令。
Darknet V3「JAZZ」的主要變化包括:
1.刪除了許多舊的和未維護的命令。
2. 針對訓練和推理實施大量效能優化。
3、修改遺留C API;使用原始 Darknet API 的應用程式將需要進行細微更改:https://darknetcv.ai/api/api.html
4. 引進新的 Darknet V3 C 和 C++ API:https://darknetcv.ai/api/api.html
5. 在 src-examples 中新增應用程式和範例程式碼:https://darknetcv.ai/api/files.html
MSCOCO 預訓練權重
為了方便起見,YOLO 的幾個流行版本在 MSCOCO 資料集上進行了預訓練。該資料集有 80 個類,可以在文字檔案 cfg/coco.names 中看到。
還有其他幾個更簡單的資料集和預訓練權重可用於測試 Darknet/YOLO,例如 LEGO Gears 和 Rolodex。有關詳細信息,請參閱 Darknet/YOLO 常見問題解答。
MSCOCO 預訓練權重可以從幾個不同的位置下載,也可以從此儲存庫下載:
1.YOLOv2(2016 年 11 月)
* YOLOv2-微小
* YOLOv2-完整
2.YOLOv3(2018 年 5 月)
* YOLOv3-小
* YOLOv3-full
3.YOLOv4(2020 年 5 月)
* YOLOv4-小
* YOLOv4-full
4.YOLOv7(2022 年 8 月)
* YOLOv7-小
* YOLOv7-完整版
MSCOCO 預訓練權重僅用於演示目的。 MSCOCO 對應的 .cfg 和 .names 檔案位於 cfg 目錄中。命令範例:
`
wget --no-clobber https://github.com/hank-ai/darknet/releases/download/v2.0/yolov4-tiny.weights
darknet02displayannotatedimages 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,就像您不需要成為機械師來駕駛汽車一樣。
如果您遵循具有更複雜建置步驟的舊教學課程,或建置步驟與本自述文件中的內容不匹配,請注意。如下所述的新建步驟於 2023 年 8 月開始。
我們鼓勵軟體開發人員造訪 https://darknetcv.ai/ 以取得有關 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 軟體:
這些說明假設(但不要求!)系統運行 Ubuntu 22.04。如果您使用不同的發行版,請根據需要進行調整。
`bash
sudo apt-get install build-essential git libopencv-dev cmake
mkdir ~/srccd ~/src
git 克隆 https://github.com/hank-ai/darknet
CD暗網
mkdir 構建
光碟建構
cmake -DCMAKEBUILDTYPE=發布 ..
製作-j4包
sudo dpkg -i darknet-VERSION.deb
`
如果您使用的是舊版的 CMake,則需要先升級 CMake,然後才能執行上面的 cmake 指令。可以使用以下命令在 Ubuntu 上升級 CMake:
`bash
sudo apt-get purge cmake
sudo snap install cmake --經典
`
如果使用 bash 作為命令 shell,此時您需要重新啟動 shell。如果使用魚,它應該立即選擇新路徑。
進階用戶:
如果您想要建立 RPM 安裝文件而不是 DEB 文件,請參閱 CM_package.cmake 中的相關行。在執行 make -j4 package 之前,您需要編輯以下兩行:
`cmake
設定(CPACKGENERATOR“DEB”)#設定(CPACKGENERATOR“RPM”)
`
對於 Centos 和 OpenSUSE 等發行版,您需要將 CM_package.cmake 中的這兩行切換為:
`cmake
設定(CPACK_GENERATOR“DEB”)
設定(CPACK_GENERATOR“RPM”)
`
若要在安裝套件完成建置後進行安裝,請使用您的發行版常用的套件管理器。例如,在基於 Debian 的系統(例如 Ubuntu)上:
`bash
sudo dpkg -i darknet-2.0.1-Linux.deb
`
安裝 .deb 套件將複製以下檔案:
1. /usr/bin/darknet 是常用的 Darknet 執行檔。從 CLI 運行 darknet 版本以確認其安裝正確。
2. /usr/include/darknet.h 是 C、C++ 和 Python 開發人員的 Darknet API。
3. /usr/include/darknet_version.h 包含開發人員使用的版本資訊。
4. /usr/lib/libdarknet.so 是 C、C++ 和 Python 開發人員連結的函式庫。
5. /opt/darknet/cfg/... 是儲存所有 .cfg 範本的位置。
現在你已經完成了! Darknet 已建置並安裝到 /usr/bin/ 中。執行此測試:暗網版本。
如果你沒有 /usr/bin/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 Installer”。
* 點選「修改」。
* 選擇“使用C++進行桌面開發”。
* 按一下右下角的“修改”,然後按一下“是”。
3. 開啟開發人員命令提示字元:下載並安裝所有內容後,再次按一下「Windows 開始」功能表並選擇「VS 2022 的開發人員命令提示字元」。不要使用 PowerShell 執行這些步驟,您會遇到問題!
進階用戶:
您可以使用普通命令提示字元或 ssh 進入裝置並手動執行“Program FilesMicrosoft Visual Studio2022CommunityCommon7ToolsVsDevCmd.bat”,而不是執行開發人員命令提示字元。
4. 安裝 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。
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#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 安裝包將:
1. 建立一個名為Darknet的目錄,例如C:Program FilesDarknet。
2. 安裝 CLI 應用程式、darknet.exe 和其他範例應用程式。
3. 安裝所需的第 3 方 .dll 文件,例如 OpenCV 中的文件。
4. 安裝必要的 Darknet .dll、.lib 和 .h 檔案以使用其他應用程式中的 darknet.dll。
5. 安裝模板.cfg 檔案。
現在你已經完成了!安裝精靈完成後,Darknet 將會安裝到 C:Program FilesDarknet 中。執行此命令來測試:C:Program FilesDarknetbindarknet.exe 版本。
如果您沒有 C:/Program Files/darknet/bin/darknet.exe 那麼這表示您沒有安裝它,您只是建置了它!確保您在上一個步驟中完成了 NSIS 安裝精靈的每個面板。
使用暗網
命令列介面
以下不是 Darknet 支援的所有命令的完整列表。
除了 Darknet CLI 之外,請注意 DarkHelp 專案 CLI,它提供了 Darknet/YOLO 的替代 CLI。 DarkHelp CLI 還具有一些在 Darknet 中無法直接使用的進階功能。您可以同時使用 Darknet CLI 和 DarkHelp CLI,它們並不互相排斥。
對於下面顯示的大多數命令,您需要 .weights 檔案以及相應的 .names 和 .cfg 檔案。您可以訓練自己的網路(強烈建議!),也可以下載某人已經訓練過並在網路上免費提供的神經網路。預訓練資料集的範例包括:
1. LEGO Gears(在影像中尋找物件)
2. Rolodex(在圖像中尋找文字)
3.MSCOCO(標準80級物體偵測)
要運行的命令包括:
1. 列出一些可能會運行的命令和選項:
`bash
暗網幫助
`
2、檢查版本:
`bash
暗網版本
`
3. 使用影像進行預測:
* 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
`
4、輸出座標:
* 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
`
5. 處理影片:
* 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
`
6. 從網路攝影機讀取資料:
* V2:
`bash
暗網探測器示範 Animals.data Animals.cfg Animals_best.weights -c 0
`
* V3:
`bash
darknet08display_網路攝影機動物
`
7. 將結果儲存到影片中:
* V2:
`bash
暗網探測器演示animals.dataanimals.cfganimalsbest.weightstest.mp4-outfilenameres.avi
`
* V3:
`bash
darknet05processvideos多線程animals.cfganimals.namesanimals_best.weightstest.mp4
`
* 黑暗幫助:
`bash
DarkHelp Animals.cfg Animals.names Animals_best.weights test.mp4
`
8.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
`
9. 在特定GPU上運作:
* V2:
`bash
暗網探測器示範 Animals.data Animals.cfg Animals_best.weights -i 1 test.mp4
`
10. 檢查神經網路的準確性:
`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
`
11. 檢查精度 mAP@IoU=75:
`bash
暗網探測器地圖animals.dataanimals.cfganimalsbest.weights-iouthresh 0.75
`
12. 重新計算錨點:重新計算錨點最好在 DarkMark 中完成,因為它將連續運行 100 次,並從所有計算的錨點中選擇最佳錨點。但如果你想在 Darknet 中運行舊版:
`bash
暗網探測器 calcanchors Animals.data -numof_clusters 6 -寬度 320 -高度 256
`
13. 訓練新網路:
`bash
darknet detector -map -dont_show train Animals.data Animals.cfg(另請參閱下面的訓練部分)
`
訓練
暗網/YOLO 常見問題相關部分的快速連結:
1. 我應該如何設定我的文件和目錄?
2. 我應該使用哪個設定檔?
3. 訓練自己的網路時應該使用什麼指令?
最簡單的註解和訓練方法是使用 DarkMark 建立所有必要的 Darknet 檔案。這絕對是訓練新神經網路的推薦方法。
如果您想手動設定各種文件來訓練自訂網路:
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 檔案。列出您要使用的類別。每行必須有 1 個條目,沒有空白行,也沒有註解。對於此範例,.names 檔案將包含 4 行:
`
狗
貓
鳥
馬
`
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. 建立訓練文件和有效文件:建立在.data 檔案中命名的「train」和「valid」文字檔。這兩個文字檔案需要單獨列出 Darknet 在計算 mAP% 時必須用於訓練和驗證的所有圖像。每行只有一張圖像。路徑和檔案名稱可以是相對的或絕對的。
8. 修改 .cfg 檔案:使用文字編輯器修改 .cfg 檔案。
* 確保批次=64。
* 注意細分。根據網路尺寸和 GPU 上可用的記憶體量,您可能需要增加細分。最好使用的值是 1,因此從該值開始。如果 1 不適合您,請參閱 Darknet/YOLO 常見問題。
注意 maxbatches=..... 開始時使用的一個很好的值是 2000 x 類別數。對於此範例,我們有 4 隻動物,因此 4 2000 = 8000。
* 注意steps=.....這應該設定為maxbatch的80%和90%。對於此範例,我們將使用steps=6400,7200,因為 maxbatches 設定為 8000。
* 注意 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:https://github.com/hank-ai/darkmark
如需 Darknet 的強大替代 CLI、使用圖像平鋪、影片中的物件追蹤或可輕鬆在商業應用程式中使用的強大 C++ API,請參閱 DarkHelp:https://github.com/hank-ai/黑暗幫助
看看 Darknet/YOLO 常見問題是否可以幫助回答您的問題:https://darknetcv.ai/faq
請參閱 Stéphane 的 YouTube 頻道上的許多教學和範例影片:https://www.youtube.com/channel/UC79J2v8b3hL7Z238mQ6dJ8w
如果您有支援問題或想與其他 Darknet/YOLO 用戶聊天,請加入 Darknet/YOLO 不和諧伺服器:https://discord.gg/zSq8rtW
路線圖
最後更新於 2024 年 10 月 30 日:
完全的
1. 將訓練期間使用的 qsort() 替換為 std::sort() (仍有其他一些晦澀難懂的)
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. 構建-