Manajer Hmac
Ringkasan
Editor Downcodes menghadirkan HmacManager, alat autentikasi HMAC untuk aplikasi ASP.NET Core, memberikan integrasi tanpa batas dan keamanan yang kuat untuk aplikasi Anda.
Fitur
Otentikasi HMAC: HmacManager menyediakan otentikasi HMAC, memungkinkan Anda menambahkan lapisan otentikasi aman ke ASP.NET Core API Anda.
Konfigurasi mudah: Dengan opsi konfigurasi sederhana, Anda dapat dengan cepat mengintegrasikan otentikasi HMAC di aplikasi Anda.
Opsi penyesuaian: HmacManager menyediakan opsi penyesuaian sehingga Anda dapat mengonfigurasinya sesuai kebutuhan Anda.
Keamanan yang ditingkatkan: Autentikasi HMAC meningkatkan keamanan API Anda dengan menggunakan algoritme hashing HMAC untuk mengautentikasi permintaan.
Instalasi
HmacManager tersedia di NuGet.
' pesta
dotnet menambahkan paket HmacManager
`
Sumber daya
Bacaan lebih lanjut: Dokumentasi resmi
Kode contoh: repositori GitHub
Kerangka Deteksi Objek Darknet dan YOLO
Logo !darknet dan hank.ai
Darknet adalah kerangka jaringan saraf sumber terbuka yang ditulis dalam C, C++ dan CUDA.
YOLO (You Only Look Once) adalah sistem deteksi target real-time canggih yang berjalan dalam kerangka Darknet.
1. Makalah
YOLOv7: Tautan kertas
Scaled-YOLOv4: Tautan kertas
YOLOv4: Tautan kertas
YOLOv3: Tautan kertas
2. Informasi Umum
Kerangka kerja Darknet/YOLO terus mengungguli kerangka kerja lain dan versi YOLO dalam hal kecepatan dan akurasi.
Kerangka kerja ini sepenuhnya gratis dan open source. Anda dapat mengintegrasikan Darknet/YOLO ke dalam proyek dan produk yang sudah ada, termasuk produk komersial, tanpa lisensi atau biaya.
Darknet V3 ("Jazz"), yang dirilis pada Oktober 2024, dapat menjalankan video kumpulan data LEGO secara akurat hingga 1000 FPS saat menggunakan GPU NVIDIA RTX 3090, yang berarti setiap frame video memerlukan waktu 1 milidetik atau kurang /YOLO dalam hitungan detik.
Bergabunglah dengan server Darknet/YOLO Discord: https://discord.gg/zSq8rtW
Versi CPU Darknet/YOLO dapat berjalan di perangkat sederhana seperti Raspberry Pi, server cloud, server Colab, desktop, laptop, dan peralatan pelatihan kelas atas. Versi GPU Darknet/YOLO memerlukan GPU dengan dukungan NVIDIA CUDA.
Darknet/YOLO diketahui bekerja dengan baik di Linux, Windows, dan Mac. Lihat petunjuk pembuatan di bawah.
3. Versi Darknet
Versi 0.x: Alat Darknet asli yang ditulis oleh Joseph Redmon pada tahun 2013-2017 tidak memiliki nomor versi.
Versi 1.x: Repositori Darknet populer berikutnya yang dikelola oleh Alexei Bochkovskiy antara 2017-2021 juga tidak memiliki nomor versi.
Versi 2.x ("OAK"): Repositori Darknet yang disponsori oleh Hank.ai dan dikelola oleh Stéphane Charette mulai tahun 2023 adalah yang pertama memiliki perintah versi. Dari tahun 2023 hingga akhir tahun 2024, ia kembali ke versi 2.x "OAK".
Versi 3.x (“JAZZ”): Tahap pengembangan berikutnya dimulai pada pertengahan tahun 2024, dengan rilis pada bulan Oktober 2024. Perintah versi sekarang mengembalikan 3.x "JAZZ".
4. Beban pra-latihan MSCOCO
Untuk kenyamanan, beberapa versi YOLO yang populer telah dilatih sebelumnya pada kumpulan data MSCOCO. Kumpulan data ini berisi 80 kategori dan dapat dilihat pada file teks cfg/coco.names.
Ada kumpulan data lain yang lebih sederhana dan anak timbangan terlatih yang tersedia untuk menguji Darknet/YOLO, seperti LEGO Gears dan Rolodex. Lihat FAQ Darknet/YOLO untuk detailnya.
Anak timbangan terlatih MSCOCO dapat diunduh dari sejumlah lokasi berbeda atau dari repositori ini:
* YOLOv2 (November 2016)
*YOLOv2-kecil
*YOLOv2-penuh
* YOLOv3 (Mei 2018)
* YOLOv3-kecil
*YOLOv3-penuh
* YOLOv4 (Mei 2020)
* YOLOv4-kecil
*YOLOv4-penuh
* YOLOv7 (Agustus 2022)
* YOLOv7-kecil
*YOLOv7-penuh
Anak timbangan MSCOCO yang telah dilatih sebelumnya hanya untuk tujuan demonstrasi. File .cfg dan .names yang sesuai terletak di direktori cfg. Contoh perintah:
' pesta
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
`
Perhatikan bahwa seseorang harus melatih jaringannya sendiri. MSCOCO sering digunakan untuk memastikan bahwa semuanya baik-baik saja.
5. Membangun
Berbagai metode pembangunan dari masa lalu (sebelum tahun 2023) telah digabungkan menjadi satu solusi terpadu. Darknet memerlukan C++17 atau lebih tinggi, OpenCV, dan menggunakan CMake untuk menghasilkan file proyek yang diperlukan.
Anda tidak perlu mengetahui C++ untuk membangun, menginstal, atau menjalankan Darknet/YOLO, sama seperti Anda tidak perlu menjadi mekanik untuk mengendarai mobil.
5.1 Google Kolab
Petunjuk Google Colab sama dengan petunjuk Linux. Beberapa notebook Jupyter memperlihatkan cara melakukan tugas tertentu, seperti melatih jaringan baru.
Lihat notebook di subdirektori colab, atau ikuti petunjuk Linux di bawah.
5.2 Metode CMake Linux
Tutorial pembuatan Darknet di Linux
' pesta
sudo apt-get install build-essential git libopencv-dev cmake mkdir ~/srccd ~/src git clone https://github.com/hank-ai/darknetcd darknet mkdir buildcd build cmake -DCMAKEBUILDTYPE=Release .. make -j4 package sudo dpkg -i darknet-VERSION.deb
`
5.3 Metode Windows CMake
Petunjuk ini mengasumsikan instalasi baru Windows 11 22H2.
' pesta
winget install Git.Git winget install Kitware.CMake winget install nsis.nsis winget install Microsoft.VisualStudio.2022.Community
`
Kita kemudian perlu memodifikasi instalasi Visual Studio untuk menyertakan dukungan untuk aplikasi C++:
* Klik menu Start Windows dan jalankan Visual Studio Installer.
* Klik "Edit".
* Pilih "Pengembangan desktop menggunakan C++".
* Klik "Edit" di pojok kanan bawah, lalu klik "Ya".
Setelah semuanya diunduh dan diinstal, klik lagi menu "Windows Start" dan pilih "Developer Command Prompt for VS 2022". Jangan gunakan PowerShell untuk melakukan langkah-langkah ini atau Anda akan mengalami masalah!
Pengguna tingkat lanjut:
* Selain menjalankan command prompt pengembang, Anda juga dapat menggunakan command prompt normal atau ssh ke perangkat dan menjalankan "Program FilesMicrosoft Visual Studio2022CommunityCommon7ToolsVsDevCmd.bat" secara manual.
Setelah Anda mengikuti petunjuk di atas dan menjalankan command prompt pengembang (bukan PowerShell!), jalankan perintah berikut untuk menginstal Microsoft VCPKG, yang kemudian akan digunakan untuk membangun OpenCV:
' pesta
cd c:mkdir c:srccd c:src git clone https://github.com/microsoft/vcpkgcd vcpkg bootstrap-vcpkg.bat .vcpkg.exe integrasikan instal .vcpkg.exe integrasikan powershell.vcpkg.exe instal opencv[contrib, dnn,ketik bebas,jpeg,openmp,png,webp,dunia]:x64-windows
`
Harap bersabar dengan langkah terakhir ini karena membutuhkan waktu yang lama untuk dijalankan. Ini memerlukan pengunduhan dan pembuatan banyak hal.
Pengguna tingkat lanjut:
* Harap diperhatikan bahwa ada banyak modul opsional lain yang mungkin ingin Anda tambahkan saat membuat OpenCV. Jalankan .vcpkg.exe search opencv untuk melihat daftar lengkapnya.
Opsional: Jika Anda memiliki GPU NVIDIA modern, Anda dapat menginstal CUDA atau CUDA+cuDNN saat ini. Jika dipasang, Darknet akan menggunakan GPU Anda untuk mempercepat pemrosesan gambar (dan video).
Anda harus menghapus file CMakeCache.txt dari direktori build Darknet untuk memaksa CMake menemukan kembali semua file yang diperlukan.
Ingatlah untuk membangun kembali Darknet.
Darknet dapat berjalan tanpanya, tetapi jika Anda ingin melatih jaringan khusus, Anda memerlukan CUDA atau CUDA+cuDNN.
Kunjungi https://developer.nvidia.com/cuda-downloads untuk mengunduh dan menginstal CUDA.
Kunjungi https://developer.nvidia.com/rdp/cudnn-download atau https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn-package-manager-installation-overview untuk mengunduh dan Instal cuDNN.
Setelah menginstal CUDA, pastikan Anda dapat menjalankan nvcc.exe dan nvidia-smi.exe. Anda mungkin perlu mengubah variabel PATH.
Setelah mengunduh cuDNN, unzip dan salin direktori bin, include, dan lib ke C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/[version]/. Anda mungkin perlu menimpa beberapa file.
Jika Anda menginstal CUDA atau CUDA+cuDNN di lain waktu, atau jika Anda mengupgrade ke versi perangkat lunak NVIDIA yang lebih baru:
* CUDA harus diinstal setelah Visual Studio. Jika Anda memutakhirkan Visual Studio, ingatlah untuk menginstal ulang CUDA.
Setelah semua langkah sebelumnya berhasil diselesaikan, Anda perlu mengkloning Darknet dan membangunnya. Pada langkah ini kita juga perlu memberi tahu CMake di mana vcpkg berada sehingga dapat menemukan OpenCV dan dependensi lainnya:
' pesta
cd c:src git clone https://github.com/hank-ai/darknet.gitcd darknetmkdir buildcd build cmake -DCMAKEBUILDTYPE=Release -DCMAKETOOLCHAINFILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake .. msbuild. exe /property:Platform=x64;Configuration=Rilis /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
`
Jika Anda mengalami kesalahan tentang beberapa CUDA atau cuDNN DLL yang hilang (misalnya, culas64_12.dll), salin file CUDA .dll secara manual ke direktori keluaran yang sama dengan Darknet.exe. Misalnya:
' pesta
salin "C:Program FilesNVIDIA GPU Computing ToolkitCUDAv12.2bin*.dll" src-cliRelease
`
(Ini contohnya! Periksa versi mana yang Anda jalankan, dan jalankan perintah yang sesuai untuk versi yang telah Anda instal.)
Setelah file disalin, jalankan kembali perintah msbuild.exe terakhir untuk menghasilkan paket instalasi NSIS:
' pesta
msbuild.exe /property:Platform=x64;Configuration=Rilis PACKAGE.vcxproj
`
Pengguna tingkat lanjut:
* Harap dicatat bahwa output dari perintah cmake adalah file solusi Visual Studio normal, Darknet.sln. Jika Anda adalah pengembang perangkat lunak yang sering menggunakan Visual Studio GUI alih-alih msbuild.exe untuk membangun proyek, Anda dapat mengabaikan baris perintah dan memuat proyek Darknet di Visual Studio.
Anda sekarang seharusnya sudah menyiapkan file ini untuk dijalankan: C:srcDarknetbuildsrc-cliReleasedarknet.exe. Jalankan perintah berikut untuk menguji: Versi C:srcDarknetbuildsrc-cliReleasedarknet.exe.
Untuk menginstal Darknet, pustaka, menyertakan file, dan DLL yang diperlukan dengan benar, jalankan wizard instalasi NSIS yang dibuat pada langkah sebelumnya. Lihat file darknet-VERSION.exe di direktori build. Misalnya:
' pesta
darknet-2.0.31-win64.exe
`
Menginstal paket instalasi NSIS akan:
* Buat direktori bernama Darknet, misalnya C:Program FilesDarknet.
* Instal aplikasi CLI, darknet.exe dan contoh aplikasi lainnya.
* Instal file .dll pihak ketiga yang diperlukan, seperti file dari OpenCV.
* Instal file Darknet .dll, .lib, dan .h yang diperlukan untuk menggunakan darknet.dll dari aplikasi lain.
* Instal file templat .cfg.
Anda sudah selesai sekarang! Setelah wizard instalasi selesai, Darknet akan diinstal di C:Program FilesDarknet. Jalankan perintah berikut untuk menguji: C:Program FilesDarknetbindarknet.exe version.
Jika Anda tidak memiliki C:/Program Files/darknet/bin/darknet.exe, Anda tidak menginstalnya, Anda baru saja membuatnya! Pastikan Anda menelusuri setiap panel Wizard Instalasi NSIS pada langkah sebelumnya.
6. Gunakan Jaringan Gelap
6.1 CLI
Berikut ini bukan daftar lengkap semua perintah yang didukung oleh Darknet.
Selain Darknet CLI, perhatikan juga CLI proyek DarkHelp, yang menyediakan alternatif terhadap Darknet/YOLO CLI. DarkHelp CLI juga memiliki beberapa peningkatan yang tidak ditemukan di Darknet. Anda dapat menggunakan Darknet CLI dan DarkHelp CLI secara bersamaan, keduanya tidak eksklusif.
Untuk sebagian besar perintah yang ditampilkan di bawah, Anda memerlukan file .weights dengan file .names dan .cfg yang sesuai. Anda dapat melatih jaringan tersebut sendiri (sangat disarankan!), atau Anda dapat mengunduh jaringan saraf yang telah dilatih oleh orang lain dan tersedia secara gratis di Internet. Contoh kumpulan data pra-pelatihan meliputi:
* LEGO Gears (temukan objek dalam gambar)
* Rolodex (temukan teks dalam gambar)
* MSCOCO (deteksi target kategori standar 80)
Perintah yang harus dijalankan meliputi:
* Daftar beberapa kemungkinan perintah dan opsi yang dapat dijalankan:
' pesta
bantuan darknet
`
* Periksa versi:
' pesta
versi darknet
`
* Gunakan gambar untuk prediksi:
' pesta
V2: uji detektor darknet cars.data cars.cfg cars_best.weights image1.jpg
V3: darknet02displayannotatedimages cars.cfg image1.jpg
DarkHelp: DarkHelp mobil.cfg mobil_best.weights image1.jpg
`
* Koordinat keluaran:
' pesta
V2: detektor darknet menguji animal.data animal.cfg animalbest.weights -extoutput dog.jpg
V3: darknet01inference_images hewan anjing.jpg
DarkHelp: DarkHelp --json animal.cfg animal.names animal_best.weights dog.jpg
`
*Gunakan video:
' pesta
V2: demo detektor darknet animal.data animal.cfg animalbest.weights -extoutput test.mp4
V3: darknet03display_videos animal.cfg test.mp4
DarkHelp: DarkHelp animal.cfg animal.names animal_best.weights test.mp4
`
* Membaca dari webcam:
' pesta
V2: demo detektor darknet animal.data animal.cfg animal_best.weights -c 0
V3: darknet08display_webcam hewan
`
* Simpan hasil ke video:
' pesta
V2: demo detektor darknet animal.data animal.cfg animalbest.weights test.mp4 -outfilename res.avi
V3: darknet05processvideoshewan multithread.cfg hewan.nama hewan_terbaik.uji bobot.mp4
DarkHelp: DarkHelp animal.cfg animal.names animal_best.weights test.mp4
`
*JSON:
' pesta
V2: demo detektor darknet animal.data animal.cfg animalbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
V3: darknet06imagestojson hewan image1.jpg
DarkHelp: DarkHelp --json animal.names animal.cfg animal_best.weights image1.jpg
`
* Jalankan pada GPU tertentu:
' pesta
V2: demo detektor darknet animal.data animal.cfg animal_best.weights -i 1 test.mp4
`
* Periksa keakuratan jaringan saraf:
' pesta
peta detektor darknet Driving.data Driving.cfg Driving_best.weights ... Nama Id AvgPrecision TP FN FP TN Akurasi ErrorRate Precision Recall Spesifisitas FalsePosRate -- ---- ------------ ---- -- ------ ------ ------ -------- --------- --------- ---- -- ---------- ------------ 0 kendaraan 91,2495 32648 3903 5826 65129 0,9095 0,0905 0,8486 0,8932 0,9179 0,0821 1 sepeda motor 80,4499 2936 513 569 3 0,8850 0,11 50 0,8377 0,8513 0,9046 0,0954 2 sepeda 89,0912 570 124 104 3548 0,9475 0,0525 0,8457 0,8213 0,9715 0,0285 3 orang 76,7937 7072 1727 2574 27523 0,8894 0,1106 0,7332 0,8037 0,9145 0,0855 4 banyak kendaraan 64.3089 1068 509 733 11288 0.9087 0.0913 0.5930 0.6772 0.9390 0.0610 5 lampu hijau 86.8118 1969 239 5 10 4116 0,8904 0,1096 0,7943 0,8918 0,8898 0,1102 6 lampu kuning 82,0390 126 38 30 1239 0,9525 0,0475 0,8077 0,7683 0,9764 0,0236 7 lampu 94,1033 3449 2 17 451 4643 0,9237 0,0763 0,8844 0,9408 0,9115 0,0885
`
* Periksa akurasi mAP@IoU=75:
' pesta
detektor darknet peta animal.data animal.cfg animalbest.weights -iouthresh 0.75
`
* Menghitung ulang titik jangkar paling baik dilakukan di DarkMark karena akan berjalan 100 kali berturut-turut dan memilih titik jangkar terbaik dari semua titik jangkar yang dihitung. Namun, jika Anda ingin menjalankan versi lama di Darknet:
' pesta
detektor darknet calcanchors animal.data -numof_clusters 6 -width 320 -height 256
`
* Latih jaringan baru:
' pesta
cd ~/nn/animals/ darknet detector -map -dont_show melatih hewan.data hewan.cfg
`
6.2 Pelatihan
Tautan cepat ke bagian yang relevan dari FAQ Darknet/YOLO:
* Bagaimana cara mengatur file dan direktori saya?
* Profil mana yang harus saya gunakan?
* Perintah mana yang harus saya gunakan saat melatih jaringan saya sendiri?
Buat semua file Darknet yang diperlukan menggunakan DarkMark, yang merupakan cara termudah untuk membuat anotasi dan melatih. Ini jelas merupakan cara yang disarankan untuk melatih jaringan saraf baru.
Jika Anda ingin mengatur berbagai file secara manual untuk melatih jaringan khusus:
* Buat folder baru untuk menyimpan file. Untuk contoh ini, jaringan saraf akan dibuat untuk mendeteksi hewan, sehingga direktori berikut akan dibuat: ~/nn/animals/.
* Copy salah satu file konfigurasi Darknet yang ingin Anda gunakan sebagai template. Misalnya, lihat cfg/yolov4-tiny.cfg. Tempatkan di folder yang Anda buat. Untuk contoh ini, kita sekarang memiliki ~/nn/animals/animals.cfg.
* Buat file teks animal.names di folder yang sama tempat Anda meletakkan file konfigurasi. Untuk contoh ini, kita sekarang memiliki ~/nn/animals/animals.names.
* Gunakan editor teks untuk mengedit file animal.names. Cantumkan kategori yang ingin Anda gunakan. Anda memerlukan tepat satu entri per baris, tidak ada baris kosong dan tidak ada komentar. Untuk contoh ini, file .names akan berisi 4 baris:
`
anjing
kucing
burung
kuda
`
* Buat file teks animal.data di folder yang sama. Untuk contoh ini, file .data akan berisi:
`
kelas = 4
kereta = /home/nama pengguna/nn/animals/animals_train.txt
valid = /home/nama pengguna/nn/animals/animals_valid.txt
nama = /home/nama pengguna/nn/animals/animals.names
backup = /home/nama pengguna/nn/animals
`
* Buat folder untuk menyimpan gambar dan anotasi Anda. Misalnya, ini bisa berupa ~/nn/animals/dataset. Setiap gambar memerlukan file .txt terkait yang menjelaskan anotasi untuk gambar tersebut. Format file komentar .txt sangat spesifik. Anda tidak dapat membuat file ini secara manual karena setiap anotasi harus berisi koordinat anotasi yang tepat. Lihat DarkMark atau perangkat lunak serupa lainnya untuk membuat anotasi pada gambar Anda. Format anotasi YOLO dijelaskan di FAQ Darknet/YOLO.
* Buat file teks "train" dan "valid" yang diberi nama dalam file .data. Kedua file teks ini perlu mencantumkan secara terpisah semua gambar yang harus digunakan Darknet untuk melatih dan memvalidasi saat menghitung mAP%. Tepat satu gambar per baris. Jalur dan nama file bisa bersifat relatif atau absolut.
* Gunakan editor teks untuk mengubah file .cfg Anda.
* Pastikan batch=64.
* Perhatikan subdivisi. Tergantung pada ukuran jaringan dan jumlah memori yang tersedia pada GPU, Anda mungkin perlu menambah subdivisi. Nilai terbaik untuk digunakan adalah 1, jadi mulailah dengan itu. Jika Anda tidak dapat menggunakan 1, silakan lihat FAQ Darknet/YOLO.
Perhatikan bahwa maxbatches=…. Nilai yang baik untuk memulai adalah 2000 kali jumlah kategori. Untuk contoh ini kita mempunyai 4 hewan, jadi 4 2000 = 8000. Artinya kita akan menggunakan maxbatches=8000.
*Catatan langkah=..... Ini harus disetel ke 80% dan 90% dari maxbatch. Untuk contoh ini, kita akan menggunakan langkah=6400,7200 karena maxbatches disetel ke 8000.
* Catatan lebar=... dan tinggi=..... Ini adalah dimensi jaringan. FAQ Darknet/YOLO menjelaskan cara menghitung ukuran optimal untuk digunakan.
* Cari semua instance baris class=... dan modifikasi dengan jumlah kelas di file .names. Untuk contoh ini kita akan menggunakan kelas=4.
Mencari instance dari semua baris filter=... di bagian [convolutional] sebelum setiap bagian [yolo]. Nilai yang digunakan adalah (jumlah kategori + 5) 3. Artinya untuk contoh ini, (4 + 5) * 3 = 27. Oleh karena itu, kami akan menggunakan filter=27 pada baris yang sesuai.
* Mulai pelatihan! Jalankan perintah berikut:
' pesta
cd ~/nn/animals/ darknet detector -map -dont_show melatih hewan.data hewan.cfg
`
* Harap tunggu. Bobot terbaik akan disimpan sebagai animal_best.weights. Dan Anda dapat mengamati kemajuan pelatihan dengan melihat file chart.png. Lihat FAQ Darknet/YOLO untuk parameter tambahan yang mungkin ingin Anda gunakan saat melatih jaringan baru.
* Jika Anda ingin melihat detail lebih lanjut selama pelatihan, tambahkan parameter --verbose. Misalnya:
' pesta
detektor darknet -peta -dont_show --verbose melatih hewan.data hewan.cfg
`
7. Alat dan Tautan Lainnya
Untuk mengelola proyek Darknet/YOLO Anda, memberi anotasi pada gambar, memvalidasi anotasi Anda, dan membuat file yang diperlukan untuk pelatihan dengan Darknet, lihat DarkMark.
Untuk alternatif yang kuat terhadap Darknet CLI, untuk menggunakan ubin gambar, pelacakan objek dalam video, atau untuk mendapatkan API C++ yang kuat yang dapat dengan mudah digunakan dalam aplikasi komersial, lihat DarkHelp.
Silakan lihat FAQ Darknet/YOLO untuk bantuan menjawab pertanyaan Anda.
Lihat banyak tutorial dan contoh video di saluran YouTube Stéphane.
Jika Anda memiliki pertanyaan dukungan atau ingin mengobrol dengan pengguna Darknet/YOLO lainnya, silakan bergabung dengan server Darknet/YOLO Discord.
8. Peta Jalan
Terakhir diperbarui pada 30-10-2024:
* Selesai
* Mengganti qsort() dengan std::sort() selama pelatihan (beberapa kode tidak jelas lainnya masih ada)
* Singkirkan check_mistakes, getchar() dan system()
* Konversi Darknet untuk menggunakan kompiler C++ (g++ di Linux, VisualStudio di Windows)
* Perbaiki versi Windows
* Perbaiki dukungan Python
* Bangun perpustakaan darknet
* Aktifkan kembali label dalam prediksi (kode "alfabet")
* Aktifkan kembali kode CUDA/GPU
* Aktifkan kembali CUDNN
* Aktifkan kembali setengah CUDNN
* Jangan melakukan hardcode pada arsitektur CUDA
* Informasi versi CUDA yang lebih baik
* Aktifkan kembali AVX
* Hapus solusi lama dan Makefile
* Jadikan OpenCV non-opsional
* Hapus ketergantungan pada perpustakaan pthread lama
* Hapus STB
* Tulis ulang CMakeLists.txt untuk menggunakan deteksi CUDA baru
* Menghapus kode "abjad" lama dan menghapus lebih dari 700 gambar di data/label
*Buat kode sumber luar
* Memiliki keluaran nomor versi yang lebih baik
* Optimalisasi kinerja terkait dengan pelatihan (tugas berkelanjutan)
* Optimalisasi kinerja terkait dengan inferensi (tugas berkelanjutan)
* Gunakan referensi pass-by-value bila memungkinkan
* Bersihkan file .hpp
* Tulis ulang darknet.h
Jangan masukkan cv::Mat ke void, gunakan itu sebagai objek C++ yang tepat
* Perbaiki atau pertahankan konsistensi penggunaan struktur gambar internal
* Perbaiki pembuatan perangkat Jetson arsitektur ARM
*Perangkat Jetson asli kemungkinan besar tidak akan diperbaiki karena tidak lagi didukung oleh NVIDIA (tidak ada kompiler C++17)
* Perangkat Jetson Orin baru sekarang berjalan
* Perbaiki Python API di V3
* Butuh dukungan Python yang lebih baik (adakah pengembang Python yang ingin membantu?)
* Tujuan jangka pendek
* Ganti printf() dengan std::cout (sedang dalam proses)
* Periksa dukungan kamera zed lama
* Penguraian baris perintah yang lebih baik dan lebih konsisten (sedang dalam proses)
* Tujuan jangka menengah
Hapus semua kode char dan ganti dengan std::string
* Jangan sembunyikan peringatan dan bersihkan peringatan kompiler (sedang dalam proses)
* Penggunaan cv::Mat yang lebih baik daripada struktur gambar khusus di C (sedang dalam proses)
* Ganti fungsionalitas daftar lama dengan std::vector atau std::list
* Memperbaiki dukungan untuk gambar skala abu-abu 1 saluran
* Tambahkan dukungan untuk gambar saluran-N dengan N > 3 (misalnya gambar dengan kedalaman ekstra atau saluran panas)
* Pembersihan kode berkelanjutan (sedang berlangsung)
* Tujuan jangka panjang
* Perbaiki masalah CUDA/CUDNN di semua GPU
* Tulis ulang kode CUDA+cuDNN
* Pertimbangkan untuk menambahkan dukungan untuk GPU non-NVIDIA
* Kotak pembatas yang diputar, atau semacam dukungan "sudut".
*Poin/kerangka penting
* Peta Panas (pekerjaan sedang berlangsung)
* Membelah