Sistem penyelidikan skor universal adaptif cerdas Asp+Csv
Hari ini, editor Downcodes akan memperkenalkan kepada Anda sistem kueri yang dikembangkan dan diterbitkan berdasarkan ASP untuk menanyakan data dalam format csv. Asp+Csv secara cerdas beradaptasi dengan sistem kueri skor universal.
Perangkat lunak ini sangat sederhana tetapi merupakan sistem kueri skor yang sangat serbaguna dan nyaman yang dapat digunakan untuk menanyakan hampir semua tabel data tunggal dan dua dimensi Excel.
Tujuan
Sistem ini cocok untuk berbagai pertanyaan akurat seperti nilai, gaji, tagihan utilitas properti, dll. yang jarang diubah dan memiliki kerahasiaan rendah. Skenario penggunaan spesifiknya adalah sebagai berikut:
1. Sistem kueri skor: berlaku untuk setiap sekolah, lembaga pendidikan, ujian lembaga publik, dll.
2. Sistem permintaan gaji: berlaku untuk setiap sekolah, lembaga pendidikan, ujian lembaga publik, dll.
3. Sistem penyelidikan biaya properti: berlaku untuk setiap perusahaan, sekolah dan semua unit.
4. Sistem penyelidikan tagihan utilitas: cocok untuk komunitas, perusahaan properti, asrama universitas, dll.
5. Sistem kueri lainnya: seperti kueri penempatan kelas, kueri penerimaan, kueri sertifikat, dan sistem kueri lainnya dengan sedikit modifikasi.
Fitur dan kelebihan
1. Fleksibilitas tinggi: Dapat digunakan di hampir semua tabel dua dimensi dan dapat memenuhi sebagian besar kebutuhan Anda.
2. Sederhana dan nyaman: Kode ini kecil dan sederhana, dan dapat dengan cepat dimodifikasi agar sesuai dengan berbagai skenario seperti kueri gabungan multi-tabel.
3. Fleksibel dan mudah digunakan: Cukup ubah beberapa parameter untuk menyesuaikan kueri.
4. Penggunaan cepat: Memposting skor dapat diselesaikan paling cepat dalam dua hingga tiga menit.
Keterbatasan
1. Tidak cocok untuk modifikasi yang sering: Hasil, gaji, tagihan air dan listrik, dll. umumnya dikeluarkan sekaligus tanpa modifikasi.
2. Hanya cocok untuk tabel dua dimensi: Umumnya, database mengadopsi struktur dua dimensi, dengan header di baris dan baris pertama, dan satu data per baris setelahnya.
3. Kontrol yang direkomendasikan atas jumlah catatan dalam satu database: Sistem ini tidak membatasi jumlah catatan dalam satu database, namun direkomendasikan agar jumlah catatan dalam satu database dikontrol dalam 30.000, dan database dapat dibagi ke dalam database tanpa saling mempengaruhi.
4. Rumus, gambar, URL, dll. tidak didukung untuk saat ini: Sistem ini tidak mendukung rumus, gambar, URL, dll. untuk saat ini.
Saran penggunaan
Dapat langsung digunakan dengan mengupload melalui FTP. Disarankan untuk mengupload langsung untuk pengujian query terlebih dahulu.
Akses front-end: http://website/directory/ (unggah untuk penggunaan langsung tanpa dukungan database mysql, dll.)
Kemudian gunakan notepad++ untuk membuka inc/conn.Asp untuk melihat hubungan terkait antara parameter dan halaman web, lalu buka database bawaan default untuk membandingkan hasil kueri dan melihat hubungan terkait.
Langkah-langkah penggunaan
Untuk lebih jelasnya lihat file berformat html pada paket terkompresi.
Contoh
Berikut ini contoh Darknet Object Detection Framework dan YOLO untuk menunjukkan cara menggunakan elemen tag judul Markdown dan beberapa penyesuaian tata letak untuk membuat tampilan informasi lebih rapi dan nyaman dibaca pengguna:
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 objek real-time canggih yang berjalan dalam kerangka Darknet.
Dokumen
Kertas YOLOv7
Kertas Berskala-YOLOv4
Kertas YOLOv4
Kertas YOLOv3
Informasi Umum
Kerangka kerja Darknet/YOLO terus menjadi lebih cepat dan akurat dibandingkan kerangka kerja lain dan versi YOLO.
Kerangka kerja ini sepenuhnya gratis dan open source. Anda dapat menggunakan Darknet/YOLO di 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.
Jika Anda memerlukan bantuan atau ingin berdiskusi tentang Darknet/YOLO, silakan bergabung dengan server Darknet/YOLO Discord: https://discord.gg/zSq8rtW
Darknet/YOLO versi CPU dapat berjalan di perangkat sederhana seperti Raspberry Pi, server cloud & colab, desktop, laptop, dan peralatan pelatihan kelas atas. Versi GPU Darknet/YOLO memerlukan GPU berkemampuan CUDA dari NVIDIA.
Darknet/YOLO diketahui berjalan di Linux, Windows dan Mac. Silakan lihat petunjuk pembuatan di bawah ini.
Versi Darknet
Alat Darknet asli, yang ditulis oleh Joseph Redmon pada tahun 2013-2017, tidak memiliki nomor versi. Kami pikir ini adalah versi 0.x.
Repositori Darknet populer berikutnya yang dikelola oleh Alexei Bochkovskiy dari 2017-2021 juga tidak memiliki nomor versi. Kami yakin ini adalah versi 1.x.
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".
Tujuannya adalah untuk mengenal basis kode sambil mencoba mendobrak sesedikit mungkin fungsionalitas yang ada.
Menulis ulang langkah-langkah pembangunan sehingga kita memiliki pendekatan terpadu untuk membangun di Windows dan Linux menggunakan CMake.
Konversikan basis kode untuk menggunakan kompiler C++.
Chart.png yang ditingkatkan selama pelatihan.
Perbaikan bug dan optimalisasi terkait kinerja, terutama terkait dengan pengurangan waktu yang diperlukan untuk melatih jaringan.
Cabang terakhir dari basis kode ini adalah versi 2.1 di cabang v2.
Tahap pengembangan berikutnya dimulai pada pertengahan tahun 2024, dengan rilis pada bulan Oktober 2024. Perintah versi sekarang mengembalikan 3.x "JAZZ".
Jika Anda perlu menjalankan salah satu perintah ini, Anda selalu dapat melakukan checkout cabang v2 sebelumnya. Jika Anda memerlukan bantuan, harap beri tahu kami sehingga kami dapat menyelidiki penambahan perintah yang hilang.
Menghapus banyak perintah lama dan tidak terawat.
Banyak optimasi kinerja yang dilakukan, termasuk selama pelatihan dan inferensi.
C API lama telah dimodifikasi; aplikasi yang menggunakan Darknet API asli akan memerlukan sedikit modifikasi: https://darknetcv.ai/api/api.html
API Darknet V3 C dan C++ baru: https://darknetcv.ai/api/api.html
Aplikasi baru dan kode contoh dalam contoh src: https://darknetcv.ai/api/files.html
Anak Timbangan Terlatih MSCOCO
Untuk kenyamanan, beberapa versi YOLO populer telah dilatih sebelumnya pada kumpulan data MSCOCO. Dataset berisi 80 kategori dan dapat dilihat pada file teks cfg/coco.names.
Ada beberapa kumpulan data sederhana dan anak timbangan terlatih lainnya yang tersedia untuk pengujian 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 untuk MSCOCO terletak di direktori cfg. Contoh perintah:
`
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.nama yolov4-tiny.cfg yolov4-tiny.weights image1.jpg
DarkHelp coco.nama yolov4-tiny.cfg yolov4-tiny.weights video1.avi
`
Perhatikan bahwa seseorang harus melatih jaringannya sendiri. MSCOCO biasanya digunakan untuk memastikan bahwa semuanya berfungsi dengan baik.
Bangunan
Berbagai metode pembangunan yang disediakan di masa lalu (sebelum tahun 2023) telah digabungkan menjadi satu solusi terpadu. Darknet memerlukan C++17 atau lebih baru, 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.
Google Kolab
Petunjuk untuk Google Colab sama dengan Linux. Ada beberapa notebook Jupyter yang tersedia yang memperlihatkan cara melakukan tugas tertentu, seperti melatih jaringan baru.
Lihat notebook di subdirektori colab, atau ikuti petunjuk Linux di bawah.
Metode CMake Linux
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).
Diperlukan: Anda harus menghapus file CMakeCache.txt dari direktori build Darknet Anda untuk memaksa CMake menemukan kembali semua file yang diperlukan.
Diperlukan: Ingatlah untuk membangun kembali Darknet.
Darknet dapat berjalan tanpanya, tetapi jika Anda ingin melatih jaringan khusus, diperlukan 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 CUDA terinstal, pastikan Anda dapat menjalankan nvcc dan nvidia-smi. Anda mungkin perlu mengubah variabel PATH Anda.
Jika Anda menginstal CUDA atau CUDA+cuDNN di lain waktu, atau Anda mengupgrade ke versi perangkat lunak NVIDIA yang lebih baru:
Petunjuk ini mengasumsikan (tetapi tidak selalu mengharuskan!) sistem menjalankan Ubuntu 22.04. Jika Anda menggunakan distribusi lain, silakan sesuaikan dengan kebutuhan.
`
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=Lepaskan ..
buat -j4
kemasan
sudo dpkg -i darknet-VERSION.deb
`
Jika Anda menggunakan CMake versi lama, maka Anda perlu mengupgrade CMake sebelum menjalankan perintah cmake di atas. Untuk mengupgrade CMake di Ubuntu Anda dapat menggunakan perintah berikut:
`
sudo apt-get pembersihan cmake
sudo snap install cmake --klasik
`
Jika Anda menggunakan bash sebagai shell perintah, Anda mungkin perlu me-restart shell Anda. Jika Anda menggunakan ikan, ia harus segera mengambil jalur baru.
Pengguna tingkat lanjut:
Jika Anda ingin membuat file instalasi RPM dan bukan file DEB, lihat baris yang relevan di CM_package.cmake. Sebelum menjalankan paket make -j4, Anda perlu mengedit dua baris berikut:
`
SET (CPACKGENERATOR "DEB")# SET (CPACKGENERATOR "RPM")
`
Untuk distribusi seperti Centos dan OpenSUSE, Anda perlu mengubah dua baris berikut di CM_package.cmake menjadi:
`
SET (CPACKGENERATOR "DEB")SET (CPACKGENERATOR "RPM")
`
Untuk menginstal paket instalasi, setelah dibuat, gunakan manajer paket distribusi Anda yang biasa. Misalnya pada sistem berbasis Debian (seperti Ubuntu):
`
sudo dpkg -i darknet-2.0.1-Linux.deb
`
Menginstal paket .deb akan menyalin file berikut:
/usr/bin/darknet adalah Darknet biasa yang dapat dieksekusi. Jalankan versi darknet dari CLI untuk mengonfirmasi bahwa versi tersebut diinstal dengan benar.
/usr/include/darknet.h adalah API Darknet untuk pengembang C, C++ dan Python.
/usr/include/darknet_version.h berisi informasi versi untuk pengembang.
/usr/lib/libdarknet.so adalah perpustakaan untuk ditautkan oleh pengembang C, C++ dan Python.
/opt/darknet/cfg/... adalah tempat semua templat .cfg disimpan.
Sekarang kamu sudah selesai! Darknet telah dibangun dan diinstal ke /usr/bin/. Jalankan perintah berikut untuk menguji: versi darknet.
Jika Anda tidak memiliki /usr/bin/darknet, berarti Anda tidak menginstalnya, Anda hanya membuatnya! Pastikan Anda menginstal file .deb atau .rpm seperti dijelaskan di atas.
Metode Windows CMake
Petunjuk ini mengasumsikan Anda memiliki instalasi Windows 11 22H2 yang bersih.
Buka jendela prompt perintah cmd.exe normal dan jalankan perintah berikut:
`
dapatkan instal Git.Git
winget instal Kitware.CMake
winget instal nsis.nsis
winget instal Microsoft.VisualStudio.2022.Community
`
Pada titik ini kita perlu memodifikasi instalasi Visual Studio untuk menyertakan dukungan untuk aplikasi C++:
* Klik menu "Windows Start" dan jalankan "Visual Studio Installer".
* Klik Ubah.
* Pilih Pengembangan Desktop Dengan C++.
* Klik Ubah di pojok kanan bawah, lalu klik Ya.
Setelah semuanya diunduh dan diinstal, klik lagi menu "Windows Start" dan pilih Prompt Perintah Pengembang untuk VS 2022. Jangan gunakan PowerShell untuk melakukan langkah-langkah ini, Anda akan mengalami masalah!
Pengguna tingkat lanjut:
Daripada menjalankan Prompt Perintah Pengembang, Anda dapat menggunakan prompt perintah normal atau ssh ke perangkat dan menjalankan "Program FilesMicrosoft Visual Studio2022CommunityCommon7ToolsVsDevCmd.bat" secara manual.
Setelah Anda mengikuti petunjuk di atas dan menjalankan Prompt Perintah Pengembang (bukan PowerShell!), jalankan perintah berikut untuk menginstal Microsoft VCPKG, yang akan digunakan untuk membangun OpenCV:
`
cd c:mkdir c:srccd c:src
git clone https://github.com/microsoft/vcpkgcd vcpkg
bootstrap-vcpkg.bat .vcpkg.exe terintegrasi
instal .vcpkg.exe mengintegrasikan powershell.vcpkg.exe
instal opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
`
Harap bersabar dengan langkah terakhir ini karena mungkin memerlukan waktu lama untuk dijalankan. Ini memerlukan pengunduhan dan pembuatan banyak hal.
Pengguna tingkat lanjut:
Perhatikan 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).
Diperlukan: Anda harus menghapus file CMakeCache.txt dari direktori build Darknet Anda untuk memaksa CMake menemukan kembali semua file yang diperlukan.
Diperlukan: Ingatlah untuk membangun kembali Darknet.
Darknet dapat berjalan tanpanya, tetapi jika Anda ingin melatih jaringan khusus, diperlukan 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#download-windows untuk mengunduh dan menginstal cuDNN.
Setelah CUDA diinstal, pastikan Anda dapat menjalankan nvcc.exe dan nvidia-smi.exe. Anda mungkin perlu mengubah variabel PATH Anda.
Setelah Anda 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 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:
`
cd c:src
git clone https://github.com/hank-ai/darknet.gitcd darknetmkdir buildcd build
cmake -DCMAKEBUILDTYPE=Rilis -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:Platform=x64;Configuration=Rilis PACKAGE.vcxproj
`
Jika Anda mendapatkan kesalahan tentang beberapa DLL CUDA atau cuDNN yang hilang, seperti culas64_12.dll, salin file CUDA .dll secara manual ke direktori keluaran yang sama dengan Darknet.exe. Misalnya:
`
salin "C:Program FilesNVIDIA GPU Computing ToolkitCUDAv12.2bin*.dll" src-cliRelease
`
(Ini adalah contohnya! Silakan periksa untuk memastikan 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:
`
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 memiliki file ini yang dapat Anda jalankan: C:srcDarknetbuildsrc-cliReleasedarknet.exe. Jalankan perintah berikut untuk menguji: Versi C:srcDarknetbuildsrc-cliReleasedarknet.exe.
Untuk menginstal Darknet, perpustakaan, menyertakan file dan DLL yang diperlukan dengan benar, jalankan wizard instalasi NSIS yang dibuat pada langkah terakhir. Lihat file darknet-VERSION.exe di direktori build. Misalnya:
`
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.
Sekarang kamu sudah selesai! Setelah wizard instalasi selesai, Darknet akan diinstal ke C:Program FilesDarknet. Jalankan perintah berikut untuk menguji: C:Program FilesDarknetbindarknet.exe version.
Jika Anda tidak memiliki C:/Program Files/darknet/bin/darknet.exe, berarti Anda tidak menginstalnya, Anda baru membuatnya! Pastikan Anda menelusuri setiap panel wizard instalasi NSIS seperti yang dijelaskan pada langkah sebelumnya.
Menggunakan Darknet
CLI
Berikut ini bukan daftar lengkap semua perintah yang didukung oleh Darknet.
Selain CLI Darknet, perhatikan juga CLI proyek DarkHelp, yang menyediakan CLI alternatif untuk Darknet/YOLO. DarkHelp CLI juga memiliki beberapa fitur lanjutan yang tidak tersedia secara langsung di Darknet. Anda dapat menggunakan Darknet CLI dan DarkHelp CLI secara bersamaan, keduanya tidak eksklusif.
Untuk sebagian besar perintah yang ditampilkan di bawah, Anda perlu menggunakan file .weights untuk file .names dan .cfg yang sesuai. Anda dapat melatih jaringan Anda sendiri (sangat disarankan!), atau mengunduh jaringan saraf dari Internet yang telah dilatih oleh orang lain dan tersedia secara gratis. Contoh kumpulan data pra-pelatihan meliputi:
LEGO Gears (temukan objek dalam gambar)
Rolodex (menemukan teks dalam gambar)
MSCOCO (deteksi target standar 80 kategori)
Perintah yang harus dijalankan meliputi:
Daftar beberapa perintah dan opsi yang dapat dijalankan:
`
bantuan darknet
`
Periksa versi:
`
versi darknet
`
Gunakan gambar untuk membuat prediksi:
`
V2: uji detektor darknet cars.data cars.cfg cars_best.weights image1.jpg
V3: darknet02displayannotatedimages cars.cfg image1.jpg
DarkHelp: DarkHelp mobil.cfg mobil.cfg mobil_best.weights image1.jpg
`
Koordinat keluaran:
`
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:
`
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 kamera web:
`
V2: demo detektor darknet animal.data animal.cfg animal_best.weights -c 0
V3: darknet08display_webcam hewan
`
Simpan hasil ke video:
`
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:
`
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:
`
V2: demo detektor darknet animal.data animal.cfg animal_best.weights -i 1 test.mp4
`
Periksa keakuratan jaringan saraf:
`
peta detektor darknet Driving.data Driving.cfg Driving_best.weights ...
Nama Id Rata-rata Presisi 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 5393 0,8850 0,1150 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 510 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 merah 94,1033 3449 217 451 4643 0,9237 0,0763 0,8844 0,9408 0,9115 0,0885
`
Periksa akurasi mAP@IoU=75:
`
detektor darknet peta animal.data animal.cfg animalbest.weights -iouthresh 0.75
`
Menghitung ulang titik jangkar paling baik dilakukan di DarkMark karena akan menjalankannya 100 kali berturut-turut dan memilih titik jangkar terbaik dari semua titik jangkar yang dihitung. Namun jika Anda ingin menjalankan versi lama di Darknet:
`
detektor darknet calcanchors animal.data -numof_clusters 6 -width 320 -height 256
`
Latih jaringan baru:
`
darknet detector -map -dont_show train animal.data animal.cfg (lihat juga bagian pelatihan di bawah)
`
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 apa yang harus saya gunakan saat melatih jaringan saya sendiri?
Gunakan DarkMark untuk membuat semua file Darknet yang diperlukan, 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:
1. Buat folder baru untuk menyimpan file. Dalam contoh ini, jaringan saraf akan dibuat untuk mendeteksi hewan, sehingga direktori berikut akan dibuat: ~/nn/animals/.
2. Copy salah satu file konfigurasi Darknet yang ingin digunakan sebagai template. Misalnya, lihat cfg/yolov4-tiny.cfg. Tempatkan di folder yang Anda buat. Dalam contoh ini, kita sekarang memiliki ~/nn/animals/animals.cfg.
3. Di folder yang sama tempat Anda meletakkan file konfigurasi, buat file teks animal.names. Dalam hal ini, kita sekarang memiliki ~/nn/animals/animals.names.
4. Gunakan editor teks untuk mengedit file animal.names. Cantumkan kategori yang ingin Anda gunakan. Anda harus memiliki tepat satu entri per baris, tidak ada baris kosong, dan tidak ada komentar. Dalam contoh ini, file .names akan berisi 4 baris:
`
anjing
kucing
burung
kuda
`
5. Buat file teks animal.data di folder yang sama. Dalam 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
`
6. Buat folder untuk menyimpan gambar dan anotasi Anda. Misalnya, ini bisa berupa ~/nn/animals/dataset. Setiap gambar memerlukan file .txt yang sesuai dengan anotasi yang menjelaskan 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. Silakan merujuk ke DarkMark atau perangkat lunak serupa lainnya untuk memberi anotasi pada gambar Anda. Format anotasi YOLO dijelaskan di FAQ Darknet/YOLO.
7. Buat file teks "train" dan "valid" yang diberi nama dalam file .data. Kedua file teks ini masing-masing harus mencantumkan semua gambar yang harus digunakan Darknet untuk pelatihan dan validasi (saat menghitung peta%). Tepatnya ada satu gambar per baris. Jalur dan nama file bisa bersifat relatif atau absolut.
8. Gunakan editor teks untuk memodifikasi file .cfg Anda.
* Pastikan batch=64.
* Perhatikan subdivisi. Bergantung pada dimensi jaringan dan jumlah memori yang tersedia pada GPU Anda, Anda mungkin perlu menambah subdivisi. Nilai terbaik untuk digunakan adalah 1, jadi mulailah dengan itu. Jika 1 tidak berhasil untuk Anda, lihat FAQ Darknet/YOLO.
Perhatikan bahwa maxbatches=…. Pada awalnya, nilai yang baik adalah 2000 kali lipat jumlah kategori. Dalam 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. Dalam contoh ini, kita akan menggunakan langkah=6400,7200 karena maxbatches disetel ke 8000.
*Perhatikan lebar=...dan tinggi=..... Ini adalah dimensi jaringan. FAQ Darknet/YOLO menjelaskan cara menghitung ukuran optimal untuk digunakan.
* Cari semua instance yang berisi baris class=... dan modifikasi dengan jumlah kelas di file .names Anda. Dalam contoh ini kita akan menggunakan kelas=4.
Di bagian [convolutional] sebelum setiap bagian [yolo], cari semua instance yang berisi baris filter=... . Nilai yang digunakan adalah (jumlah kategori + 5) 3. Artinya dalam hal ini (4 + 5) * 3 = 27. Jadi kita akan menggunakan filter=27 di baris yang sesuai.
9. Mulai pelatihan! Jalankan perintah berikut:
`
cd ~/nn/hewan/
detektor darknet -peta -dont_show melatih hewan.data hewan.cfg
`
Harap tunggu. Bobot terbaik akan disimpan sebagai animal_best.weights. 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 selengkapnya selama pelatihan, tambahkan parameter --verbose. Misalnya:
`
detektor darknet -peta -dont_show --verbose melatih hewan.data hewan.cfg
`
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 CLI alternatif Darknet yang tangguh dalam menggunakan ubin gambar untuk pelacakan objek dalam video, atau untuk API C++ tangguh yang dapat dengan mudah digunakan dalam aplikasi komersial, lihat DarkHelp.
Silakan periksa FAQ Darknet/YOLO dan lihat apakah ini membantu menjawab pertanyaan Anda.
Silakan tonton banyak tutorial dan video contoh 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.
Peta jalan
Terakhir diperbarui: 30-10-2024
Selesai
Mengganti qsort() yang digunakan selama pelatihan dengan std::sort() (beberapa yang kurang umum lainnya masih ada)
Hapus check_mistakes, getchar() dan system()
Konversi Darknet untuk menggunakan kompiler C++ (g++ di Linux, Visual Studio di Windows)
Perbaiki versi Windows
Perbaiki dukungan Python
Bangun perpustakaan darknet
Mengaktifkan 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
Bangun di luar kode sumber
Memiliki keluaran nomor versi yang lebih baik
Optimalisasi kinerja terkait pelatihan (tugas yang sedang berlangsung)
Pengoptimalan kinerja terkait dengan inferensi (tugas yang sedang berlangsung)
Gunakan referensi berdasarkan nilai bila memungkinkan
Bersihkan file .hpp
Tulis ulang darknet.h
Jangan masukkan cv::Mat ke void, melainkan gunakan sebagai objek C++ yang tepat
Memperbaiki atau mempertahankan struktur gambar internal yang digunakan secara konsisten
Perbaiki build untuk perangkat Jetson berbasis ARM
* Karena NVIDIA tidak lagi mendukung perangkat Jetson asli, kemungkinan besar perangkat tersebut tidak akan diperbaiki (tidak ada kompiler C++17)
* Perangkat Jetson Orin baru sekarang berjalan
Perbaiki Python API di V3
Diperlukan dukungan Python yang lebih baik (adakah pengembang Python yang ingin membantu dalam hal ini?)
tujuan jangka pendek
Ganti printf() dengan std::cout (sedang dalam proses)
Lihat 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, bersihkan peringatan kompiler (sedang dalam proses)
Lebih baik menggunakan cv::Mat daripada struktur gambar khusus di C (sedang dalam proses)
Ganti fungsi daftar lama dengan std::vector atau std::list
Perbaiki dukungan untuk gambar skala abu-abu 1 saluran
Tambahkan dukungan untuk gambar saluran N dengan N > 3 (misalnya gambar dengan kedalaman tambahan atau saluran termal)
Pembersihan kode yang sedang berlangsung (sedang berlangsung)
tujuan jangka panjang
Perbaiki masalah CUDA/CUDNN untuk semua GPU
Tulis ulang kode CUDA+cuDNN
Pertimbangkan untuk menambahkan dukungan untuk GPU non-NVIDIA
Kotak pembatas yang diputar, atau semacam penyangga "sudut".
poin/kerangka kunci
Peta panas (pekerjaan sedang berlangsung)
segmentasi
Dalam contoh ini, elemen tag judul Markdown digunakan, dan beberapa konten ditambahkan, dipoles, dan disesuaikan secara logis. Misalnya, menambahkan nomor seri Cina, serialisasi angka Arab, jeda baris, dan format lainnya dapat membuat tampilan informasi lebih teratur dan memudahkan pengguna untuk memeriksanya.
Saya harap artikel ini dapat bermanfaat bagi semua orang!