Mungkin
Ansible adalah sistem otomasi TI yang sangat sederhana. Ia dengan mahir menangani manajemen konfigurasi, penerapan aplikasi, penyediaan cloud, eksekusi tugas ad-hoc, otomatisasi jaringan, dan orkestrasi multi-node. Ansible memberdayakan Anda untuk dengan mudah melakukan perubahan kompleks, seperti pembaruan berkelanjutan tanpa waktu henti dengan penyeimbang beban. Selami lebih dalam kemampuan Ansible di situs resmi mereka.
Prinsip Desain
1. Memanfaatkan Ansible
Anda dapat dengan mudah menginstal versi rilis Ansible menggunakan pip atau manajer paket pilihan Anda. Konsultasikan panduan instalasi terperinci kami untuk instruksi komprehensif di berbagai platform.
2. Memberdayakan Power User dan Pengembang
Untuk pengguna dan pengembang tingkat lanjut, cabang pengembangan menyediakan akses ke fitur dan perbaikan terbaru. Meskipun secara umum stabil, penting untuk mengetahui potensi gangguan perubahan saat memanfaatkan cabang ini. Kami sangat menyarankan untuk terlibat dengan komunitas Ansible jika Anda memilih untuk bekerja dengan cabang pengembangan.
Komunikasi
Bergabunglah dengan forum Ansible yang dinamis untuk terlibat dengan komunitas, mencari bantuan, dan mengajukan pertanyaan. Untuk saluran komunikasi tambahan, jelajahi panduan khusus kami tentang Terhubung dengan Komunitas yang Mungkin.
Berkontribusi pada Ansible
Pedoman Pengkodean
Kami dengan cermat mendokumentasikan Pedoman Pengkodean kami di Panduan Pengembang. Kami sangat menganjurkan Anda untuk meninjau bagian berikut:
1. Informasi Cabang
2. Peta Jalan
Berdasarkan masukan berharga dari tim dan komunitas, peta jalan awal diterbitkan untuk setiap versi mayor atau minor (misalnya, 2.7, 2.8). Halaman Peta Jalan yang Mungkin menguraikan rencana kita dan memberikan jalan untuk mempengaruhi arah kita.
Penulis
Ansible awalnya dirancang oleh Michael DeHaan dan mendapat manfaat dari kontribusi lebih dari 5000 pengguna (dan terus bertambah). Terima kasih kepada semua yang telah berkontribusi!
Ansible dengan bangga disponsori oleh Red Hat, Inc.
Lisensi
Lisensi Publik Umum GNU v3.0 atau lebih baru. Lihat MENYALIN untuk teks lisensi lengkap.
Kerangka Deteksi Objek Darknet dan YOLO
Logo !darknet dan hank.ai
Darknet adalah kerangka jaringan saraf sumber terbuka yang dikembangkan dalam C, C++, dan CUDA.
YOLO (You Only Look Once) mewakili sistem deteksi objek real-time mutakhir yang beroperasi dalam kerangka Darknet.
Temukan bagaimana Hank.ai berkontribusi pada komunitas Darknet/YOLO: https://darknetcv.ai/
Jelajahi situs web resmi Darknet/YOLO: https://pjreddie.com/darknet/
Konsultasikan FAQ Darknet/YOLO yang komprehensif: https://pjreddie.com/darknet/yolo/
Bergabunglah dengan server Darknet/YOLO Discord yang aktif: https://discord.gg/zSq8rtW
Dokumen
1. Makalah YOLOv7: https://arxiv.org/abs/2207.02696
2. Makalah YOLOv4 Berskala: https://arxiv.org/abs/2102.12074
3. Makalah YOLOv4: https://arxiv.org/abs/2004.10934
4. Makalah YOLOv3: https://arxiv.org/abs/1804.02769
Informasi Umum
Kerangka kerja Darknet/YOLO terus mengungguli kerangka kerja dan versi YOLO lainnya dalam hal kecepatan dan akurasi.
Kebebasan penuh dan sifat sumber terbukanya memungkinkan Anda mengintegrasikan Darknet/YOLO dengan mulus ke dalam proyek dan produk yang ada, termasuk proyek dan produk komersial, tanpa batasan lisensi atau biaya.
Darknet V3 (“Jazz”), dirilis pada Oktober 2024, menunjukkan kehebatannya dengan memproses video dataset LEGO pada 1000 FPS yang mengesankan saat menggunakan GPU NVIDIA RTX 3090. Ini setara dengan waktu pemrosesan 1 milidetik atau kurang untuk setiap frame video, sehingga menunjukkan efisiensi yang luar biasa.
Untuk bantuan atau diskusi apa pun terkait Darknet/YOLO, bergabunglah dengan server Discord khusus: https://discord.gg/zSq8rtW.
Versi CPU Darknet/YOLO dapat beradaptasi dengan berbagai perangkat, termasuk Raspberry Pi, server cloud & colab, desktop, laptop, dan rig pelatihan kelas atas. Versi GPU Darknet/YOLO memerlukan GPU berkemampuan CUDA dari NVIDIA.
Darknet/YOLO telah divalidasi untuk bekerja dengan lancar di sistem operasi Linux, Windows, dan Mac. Lihat petunjuk bangunan yang diuraikan di bawah ini.
Versi Darknet
Alat Darknet asli, yang dikembangkan oleh Joseph Redmon antara tahun 2013 dan 2017, tidak memiliki nomor versi. Kami menganggap ini sebagai versi 0.x.
Repositori Darknet populer berikutnya, yang dikelola oleh Alexei Bochkovskiy dari 2017 hingga 2021, juga tidak memiliki nomor versi. Kami mengategorikannya sebagai versi 1.x.
Repositori Darknet, disponsori oleh Hank.ai dan dikelola oleh Stéphane Charette mulai tahun 2023, memperkenalkan perintah versi untuk pertama kalinya. Dari tahun 2023 hingga akhir tahun 2024, ia mengembalikan versi 2.x "OAK".
Tujuan pengembangan berpusat pada meminimalkan gangguan terhadap fungsi yang ada sambil membiasakan diri dengan basis kode.
Peningkatan utama dalam versi 2.x:
1. Proses Pembangunan Terpadu: Menulis ulang langkah-langkah pembangunan untuk pendekatan terpadu menggunakan CMake di Windows dan Linux.
2. Transisi C++: Mengonversi basis kode untuk memanfaatkan kompiler C++.
3. Peningkatan Visualisasi Pelatihan: Peningkatan visualisasi chart.png selama pelatihan.
4. Pengoptimalan Kinerja: Memperbaiki bug dan menerapkan optimalisasi terkait kinerja, terutama berfokus pada pengurangan waktu pelatihan.
Versi 2.1 mewakili cabang terakhir dari basis kode ini, tersedia di cabang v2.
Tahap pengembangan selanjutnya dimulai pada pertengahan tahun 2024 dan mencapai puncaknya pada rilis versi 3.x "JAZZ" pada bulan Oktober 2024.
Anda tetap memiliki opsi untuk memeriksa cabang v2 sebelumnya jika Anda memerlukan akses ke perintah spesifik dari versi tersebut. Jika Anda menemukan perintah yang hilang, harap beri tahu kami untuk penyelidikan dan kemungkinan integrasi ulang.
Perubahan signifikan pada versi 3.x:
1. Pemangkasan Perintah: Menghapus banyak perintah yang ketinggalan jaman dan tidak terawat.
2. Peningkatan Kinerja: Menerapkan optimalisasi kinerja secara ekstensif, baik selama pelatihan maupun inferensi.
3. Modifikasi API: API C lama mengalami modifikasi; aplikasi yang mengandalkan API Darknet asli akan memerlukan sedikit penyesuaian. Lihat dokumentasi yang diperbarui untuk panduan: https://darknetcv.ai/api/api.html
4. Pengenalan API Baru: Memperkenalkan Darknet V3 C dan C++ API baru: https://darknetcv.ai/api/api.html
5. Kode Contoh yang Diperluas: Menambahkan aplikasi baru dan kode contoh dalam direktori src-examples: https://darknetcv.ai/api/files.html
Anak Timbangan Terlatih MSCOCO
Untuk kenyamanan pengguna, beberapa versi YOLO populer telah dilatih sebelumnya pada kumpulan data MSCOCO. Kumpulan data ini mencakup 80 kelas, yang dapat ditemukan di file teks cfg/coco.names.
Kumpulan data tambahan yang lebih sederhana dan anak timbangan yang telah dilatih sebelumnya sudah tersedia untuk pengujian Darknet/YOLO, termasuk LEGO Gears dan Rolodex. Untuk informasi selengkapnya, lihat FAQ Darknet/YOLO.
Anda bisa mendapatkan beban terlatih MSCOCO dari berbagai lokasi, termasuk 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 disediakan untuk tujuan demonstrasi. File .cfg dan .names yang sesuai untuk MSCOCO 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.nama yolov4-tiny.cfg yolov4-tiny.weights image1.jpg
DarkHelp coco.nama yolov4-tiny.cfg yolov4-tiny.weights video1.avi
`
Sangat disarankan untuk melatih jaringan Anda sendiri. MSCOCO biasanya digunakan untuk memastikan fungsionalitas kerangka kerja beroperasi seperti yang diharapkan.
Bangunan
Metode pembangunan sebelumnya (sebelum tahun 2023) telah dikonsolidasikan menjadi solusi terpadu. Darknet memerlukan C++17 atau lebih baru, OpenCV, dan menggunakan CMake untuk menghasilkan file proyek yang diperlukan.
Membangun Darknet/YOLO tidak memerlukan keahlian C++; dianalogikan seperti mengendarai mobil, anda tidak perlu menjadi seorang mekanik untuk dapat menggunakannya.
Pengembang perangkat lunak didorong untuk mengunjungi https://darknetcv.ai/ untuk mendapatkan wawasan tentang cara kerja kerangka deteksi objek Darknet/YOLO.
Google Kolab
Petunjuk Google Colab mencerminkan petunjuk Linux. Beberapa notebook Jupyter mendemonstrasikan tugas tertentu, seperti melatih jaringan baru.
Jelajahi notebook dalam subdirektori colab atau ikuti petunjuk Linux yang disediakan di bawah.
Metode CMake Linux
1. Perangkat Lunak Penting:
Membangun hal-hal penting: sudo apt-get install build-essential git libopencv-dev cmake
2. Kloning Repositori:
Buat direktori sumber: mkdir ~/srccd ~/src
Kloning repositori: git clone https://github.com/hank-ai/darknetcd darknet
3. Bangun Direktori:
Buat direktori build: mkdir buildcd build
4. Konfigurasi CMake:
Konfigurasikan CMake: cmake -DCMAKEBUILDTYPE=Release ..
5. Bangun Jaringan Gelap:
Bangun: buat -j4
6. Instalasi Paket:
Buat paket: paket
Instal paket: sudo dpkg -i darknet-VERSION.deb
Opsional: Instalasi CUDA atau CUDA+cuDNN
Untuk mempercepat pemrosesan gambar dan video, Anda dapat menginstal CUDA atau CUDA+cuDNN secara opsional.
Instalasi CUDA:
Kunjungi https://developer.nvidia.com/cuda-downloads untuk mengunduh dan menginstal CUDA.
Instalasi cuDNN:
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.
Instalasi Pasca-CUDA:
Pastikan Anda dapat menjalankan nvcc dan nvidia-smi. Anda mungkin perlu mengubah variabel PATH Anda.
Meningkatkan CUDA atau CUDA+cuDNN:
Hapus file CMakeCache.txt dari direktori build Darknet Anda untuk memaksa CMake menemukan kembali file yang diperlukan.
Bangun kembali Darknet.
Peningkatan Versi CMake (jika perlu):
Bersihkan CMake yang ada: sudo apt-get purge cmake
Instal CMake terbaru: sudo snap install cmake --classic
Mulai ulang shell Anda (bash) atau pastikan jalur baru dikenali (fish).
Pengguna Tingkat Lanjut:
Untuk membuat file instalasi RPM alih-alih DEB, ubah baris yang relevan di CM_package.cmake. Sebelum menjalankan paket make -j4, sesuaikan baris berikut:
`membuat
SET (CPACK_GENERATOR "DEB")
SET (CPACK_GENERATOR "RPM")
`
Untuk distribusi seperti CentOS dan OpenSUSE, ubah baris berikut:
`membuat
SET (CPACK_GENERATOR "DEB")
SET (CPACK_GENERATOR "RPM")
`
Setelah paket instalasi dibuat, instal menggunakan manajer paket distribusi Anda. Misalnya, pada sistem berbasis Debian seperti Ubuntu:
' pesta
sudo dpkg -i darknet-2.0.1-Linux.deb
`
Pasca Instalasi:
File yang diinstal meliputi:
- /usr/bin/darknet: Darknet dapat dieksekusi. Jalankan versi darknet untuk mengonfirmasi instalasi.
- /usr/include/darknet.h: Darknet API untuk pengembang C, C++, dan Python.
- /usr/include/darknet_version.h: Informasi versi untuk pengembang.
- /usr/lib/libdarknet.so: Perpustakaan untuk menghubungkan dalam pengembangan C, C++, dan Python.
- /opt/darknet/cfg/...: Lokasi semua template .cfg.
Darknet kini berhasil dibangun dan diinstal di /usr/bin/. Untuk memverifikasi, jalankan versi darknet.
Metode Windows CMake
1. Prasyarat:
Instal yang berikut ini menggunakan Winget:
- Git: instal winget Git.Git
- CMake: menginstal sayap Kitware.CMake
- NSIS : winget install nsis.nsis
- Komunitas Visual Studio 2022: winget instal Microsoft.VisualStudio.2022.Community
2. Konfigurasi Visual Studio:
Buka "Penginstal Visual Studio" dari menu Mulai Windows.
Klik "Ubah".
Pilih "Pengembangan Desktop Dengan C++".
Klik "Modify" di pojok kanan bawah dan kemudian "Yes".
3. Prompt Perintah Pengembang:
Buka menu "Windows Start" dan pilih "Developer Command Prompt for VS 2022". Jangan gunakan PowerShell untuk langkah-langkah ini.
4. Instalasi Microsoft VCPKG (untuk OpenCV):
Arahkan ke C::cd c:
Buat direktori src: mkdir c:src
Klon VCPKG: cd c:src git clone https://github.com/microsoft/vcpkg
Bootstrap VCPKG: cd vcpkg bootstrap-vcpkg.bat
Integrasikan VCPKG: .vcpkg.exe integrasikan instalasi
Instal OpenCV (termasuk dependensi): .vcpkg.exe install opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
5. Opsional: Instalasi CUDA atau CUDA+cuDNN (Windows)
Untuk mempercepat pemrosesan gambar dan video, Anda dapat menginstal CUDA atau CUDA+cuDNN secara opsional.
Instalasi CUDA:
Kunjungi https://developer.nvidia.com/cuda-downloads untuk mengunduh dan menginstal CUDA.
Instalasi cuDNN:
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.
Instalasi Pasca-CUDA:
Pastikan Anda dapat menjalankan nvcc.exe. Anda mungkin perlu mengubah variabel PATH Anda.
Buka zip cuDNN yang diunduh dan salin direktori bin, include, dan lib ke C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/[version]/. Anda mungkin perlu menimpa beberapa file.
Meningkatkan CUDA atau CUDA+cuDNN:
CUDA harus diinstal setelah Visual Studio. Instal ulang CUDA jika Anda memutakhirkan Visual Studio.
6. Mengkloning dan Membangun Darknet:
Arahkan ke direktori sumber Anda: cd c:src
Kloning repositori: git clone https://github.com/hank-ai/darknet.git
Buat direktori build: cd darknetmkdir build
Konfigurasikan CMake dengan VCPKG: cd build cmake -DCMAKEBUILDTYPE=Release -DCMAKETOOLCHAINFILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake ..
Bangun solusinya: msbuild.exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln
Hasilkan paket instalasi NSIS: msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
7. Menangani DLL CUDA/cuDNN yang Hilang:
Jika Anda mengalami kesalahan tentang CUDA atau cuDNN DLL yang hilang (misalnya, culas64_12.dll), salin secara manual file CUDA .dll yang relevan ke direktori keluaran yang sama dengan Darknet.exe. Misalnya:
' pesta
salin "C:Program FilesNVIDIA GPU Computing ToolkitCUDAv12.2bin*.dll" src-cliRelease
`
Sesuaikan nomor versi pada perintah agar sesuai dengan instalasi Anda.
Jalankan kembali perintah msbuild.exe untuk menghasilkan paket instalasi NSIS.
Pengguna Tingkat Lanjut:
Perintah cmake menghasilkan file solusi Visual Studio (Darknet.sln). Jika Anda lebih menyukai Visual Studio GUI, Anda dapat memuat proyek Darknet di Visual Studio daripada menggunakan alat baris perintah.
Verifikasi Pasca Pembangunan:
Verifikasi bahwa C:srcDarknetbuildsrc-cliReleasedarknet.exe ada. Jalankan versi C:srcDarknetbuildsrc-cliReleasedarknet.exe untuk mengonfirmasi.
Instalasi:
Jalankan wizard instalasi NSIS (misalnya, darknet-VERSION.exe di direktori build) untuk menginstal Darknet, perpustakaan, menyertakan file, dan DLL yang diperlukan.
Verifikasi Pasca Instalasi:
Verifikasi bahwa C:/Program Files/darknet/bin/darknet.exe ada. Jalankan versi C:/Program Files/darknet/bindarknet.exe untuk mengonfirmasi.
Menggunakan Darknet
CLI
Daftar ini tidak mencakup semua perintah Darknet.
Selain Darknet CLI, pertimbangkan untuk menggunakan CLI proyek DarkHelp, yang menawarkan antarmuka alternatif dan lebih canggih. Kedua CLI dapat digunakan bersama-sama.
Untuk sebagian besar perintah, Anda memerlukan file .weights bersama dengan file .names dan .cfg yang sesuai. Anda dapat melatih jaringan Anda sendiri atau mengunduh jaringan yang telah dilatih sebelumnya.
Kumpulan data terlatih:
LEGO Gears: Deteksi objek dalam gambar.
Rolodex: Deteksi teks dalam gambar.
MSCOCO: Deteksi objek kelas 80 standar.
Perintah CLI Umum:
1. Bantuan: bantuan darknet
2. Versi: versi darknet
3. Prediksi Gambar (V2):
tes detektor darknet cars.data cars.cfg cars_best.weights image1.jpg
4. Prediksi Gambar (V3):
darknet02displayannotatedimages mobil.cfg image1.jpg
5. Prediksi Gambar (DarkHelp):
DarkHelp mobil.cfg mobil.cfg mobil_best.weights image1.jpg
6. Koordinat Keluaran (V2):
detektor darknet menguji animal.data animal.cfg animalbest.weights -extoutput dog.jpg
7. Koordinat Keluaran (V3):
darknet01inference_images hewan anjing.jpg
8. Koordinat Keluaran (DarkHelp):
DarkHelp --json animal.cfg animal.names animal_best.weights dog.jpg
9. Pemrosesan Video (V2):
demo detektor darknet animal.data animal.cfg animalbest.weights -extoutput test.mp4
10. Pemrosesan Video (V3):
darknet03display_videos animal.cfg test.mp4
11. Pemrosesan Video (DarkHelp):
DarkHelp animal.cfg animal.names animal_best.weights test.mp4
12. Pemrosesan Kamera Web (V2):
demo detektor darknet animal.data animal.cfg animal_best.weights -c 0
13. Pemrosesan Kamera Web (V3):
darknet08display_webcam binatang
14. Penghematan Video (V2):
demo detektor darknet animal.data animal.cfg animalbest.weights test.mp4 -outfilename res.avi
15. Penghematan Video (V3):
darknet05prosesvideoshewan multithread.cfg hewan.nama hewan_terbaik.tes bobot.mp4
16. Penghematan Video (DarkHelp):
DarkHelp animal.cfg animal.names animal_best.weights test.mp4
17. Keluaran JSON (V2):
demo detektor darknet hewan.data hewan.cfg hewanbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
18. Keluaran JSON (V3):
darknet06imagestojson hewan image1.jpg
19. Keluaran JSON (Bantuan Gelap):
DarkHelp --json animal.names animal.cfg animal_best.weights image1.jpg
20. Pemilihan GPU (V2):
demo detektor darknet animal.data animal.cfg animal_best.weights -i 1 test.mp4
21. Pemeriksaan Akurasi Jaringan:
peta detektor darknet Driving.data Driving.cfg Driving_best.weights ...
22. Pemeriksaan Akurasi (mAP@IoU=75):
detektor darknet peta animal.data animal.cfg animalbest.weights -iouthresh 0.75
23. Perhitungan Ulang Jangkar (disarankan DarkMark):
detektor darknet calcanchors animal.data -numof_clusters 6 -width 320 -height 256
24. Melatih Jaringan Baru:
darknet detector -map -dont_show train animal.data animal.cfg (Lihat bagian pelatihan di bawah)
Pelatihan
Tautan Cepat ke Bagian Terkait dari FAQ Darknet/YOLO:
Pengaturan: https://pjreddie.com/darknet/yolo/
Pemilihan File Konfigurasi: https://pjreddie.com/darknet/yolo/
Perintah Pelatihan: https://pjreddie.com/darknet/yolo/
Pendekatan anotasi dan pelatihan yang paling efisien melibatkan penggunaan DarkMark. Ini adalah metode yang disarankan untuk melatih jaringan saraf baru.
Pengaturan Pelatihan Manual:
1. Buat Folder Proyek: Misalnya, ~/nn/animals/.
2. Salin Templat Konfigurasi:
Pilih file konfigurasi (misalnya, cfg/yolov4-tiny.cfg).
Tempatkan di folder proyek.
Sekarang Anda memiliki ~/nn/animals/animals.cfg.
3. Buat File nama binatang:
Buat file teks bernama animal.names di folder proyek.
Edit file ini dengan kelas yang Anda inginkan.
Pastikan setiap kelas berada pada baris terpisah, tanpa baris kosong atau komentar.
Misalnya:
`
anjing
kucing
burung
kuda
`
4. Buat File animal.data:
Buat file teks bernama animal.data di folder proyek.
Kontennya harus menyerupai:
`
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
`
5. Buat Folder kumpulan data:
Buat folder untuk menyimpan gambar dan anotasi Anda. Misalnya, ~/nn/animals/dataset.
Setiap gambar memerlukan file .txt terkait yang menentukan anotasinya.
Anda tidak dapat membuat file .txt ini secara manual; DarkMark atau alat serupa diperlukan untuk memberi anotasi pada gambar Anda dan menghasilkan file-file ini.
Lihat FAQ Darknet/YOLO untuk format anotasi YOLO.
6. Buat File animaltrain.txt dan animalvalid.txt:
Buat file teks ini seperti yang ditentukan dalam file animal.data.
File-file ini masing-masing mencantumkan semua gambar yang akan digunakan untuk pelatihan dan validasi.
Satu gambar per baris, menggunakan jalur relatif atau absolut.
7. Ubah File Konfigurasi (animals.cfg):
Batch: Tetapkan batch=64.
Subdivisi: Mulai dengan subdivisi=1. Sesuaikan seperlunya berdasarkan dimensi jaringan dan memori GPU.
Max Batches: Nilai awal yang baik adalah maxbatches=2000 * numberofclasses. Dalam contoh ini, maxbatches=8000 (4 hewan).
Langkah-langkah: Setel ke 80% dan 90% dari max_batches. Dalam contoh ini, langkah=6400,7200.
Lebar dan Tinggi: Tentukan dimensi jaringan. Lihat FAQ Darknet/YOLO untuk panduan.
Kelas: Atur kelas=... agar sesuai dengan jumlah kelas di file .names Anda (4 dalam contoh ini).
Filter: Di setiap lapisan konvolusional sebelum lapisan yolo, setel filter=... ke (jumlah kelas + 5) * 3. Dalam contoh ini, filter=27.
8. Mulai Pelatihan:
Arahkan ke folder proyek Anda: cd ~/nn/animals/
Mulai pelatihan: detektor darknet -map -dont_show train animal.data animal.cfg
Bersabarlah. Bobot terbaik akan disimpan sebagai animal_best.weights.
Amati kemajuan pelatihan dengan melihat file chart.png.
Konsultasikan FAQ Darknet/YOLO untuk parameter pelatihan tambahan.
Untuk hasil pelatihan yang lebih detail, tambahkan tanda --verbose:
' pesta
detektor darknet -peta -dont_show --verbose melatih hewan.data hewan.cfg
`
Alat dan Tautan Lainnya
DarkMark: Untuk mengelola proyek Darknet/YOLO, membuat anotasi gambar, memverifikasi anotasi, dan membuat file pelatihan. https://darknetcv.ai/darkmark/
DarkHelp: Untuk CLI alternatif yang kuat untuk Darknet, penataan gambar, pelacakan objek, dan API C++ yang ramah komersial. https://darknetcv.ai/darkhelp/
FAQ Darknet/YOLO: Untuk jawaban atas pertanyaan umum. https://pjreddie.com/darknet/yolo/
Saluran YouTube Stéphane: Untuk tutorial dan contoh video. https://www.youtube.com/@stephane-charette
Server Perselisihan Darknet/YOLO: Untuk pertanyaan dukungan dan diskusi komunitas. https://discord.gg/zSq8rtW
Peta jalan
Terakhir Diperbarui: 30-10-2024
Selesai
Mengganti qsort() dengan std::sort() selama pelatihan.
Menghapus check_mistakes, getchar(), dan system().
Memigrasikan Darknet ke compiler C++ (g++ di Linux, VisualStudio di Windows).
Menyelesaikan masalah pembuatan Windows.
Mengaktifkan kembali dukungan Python.
Membangun perpustakaan Darknet.
Label prediksi yang diaktifkan kembali (kode "alfabet").
Mengaktifkan kembali kode CUDA/GPU.
Mengaktifkan kembali CUDNN.
Mengaktifkan kembali setengah CUDNN.
Menghapus arsitektur CUDA hard-coded.
Peningkatan informasi versi CUDA.
Mengaktifkan kembali AVX.
Menghapus solusi lama dan Makefile.
Menjadikan OpenCV sebagai ketergantungan non-opsional.
Menghapus ketergantungan pada perpustakaan pthread lama.
STB dihapus.
Menulis ulang CMakeLists.txt untuk menggunakan deteksi CUDA baru.
Menghapus kode "abjad" lama dan menghapus 700+ gambar di data/label.
Mengaktifkan pembangunan di luar sumber.
Output nomor versi yang ditingkatkan.
Optimalisasi kinerja yang diterapkan terkait pelatihan (berkelanjutan).
Optimalisasi kinerja yang diterapkan terkait dengan inferensi (berkelanjutan).
Dipekerjakan lewat referensi jika ada.
Membersihkan file .hpp.
Ditulis ulang darknet.h.
Menghindari casting cv::Mat ke void* dan menggunakannya sebagai objek C++ yang tepat.
Mengatasi inkonsistensi dalam penggunaan struktur gambar internal.
Memperbaiki build untuk perangkat Jetson berbasis ARM.
Perangkat Jetson Orin baru berfungsi.
Menyelesaikan masalah Python API di V3.
Tujuan Jangka Pendek
Tukar printf() dengan std::cout (sedang berlangsung).
Selidiki dukungan kamera zed lama.
Tingkatkan penguraian baris perintah untuk konsistensi (sedang berlangsung).
Tujuan Jangka Menengah
Hapus semua kode char* dan ganti dengan std::string.
Hilangkan peringatan tersembunyi dan atasi peringatan kompiler (sedang berlangsung).
Tingkatkan penggunaan cv::Mat alih-alih struktur gambar C kustom (sedang berlangsung).
Ganti fungsionalitas 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 saluran kedalaman atau termal).
Lanjutkan pembersihan kode yang sedang berlangsung (sedang berlangsung).
Tujuan Jangka Panjang
Mengatasi masalah CUDA/CUDNN di semua GPU.
Tulis ulang kode CUDA+cuDNN.
Jelajahi dukungan untuk GPU non-NVIDIA.
Terapkan kotak pembatas yang diputar atau penyangga sudut.
Perkenalkan titik kunci/kerangka.
Tambahkan dukungan untuk peta panas (sedang berlangsung).
Gabungkan segmentasi.