UniGetUI (سابقًا WingetUI)
يقدم لك محرر Downcodes UniGetUI، وهي واجهة مستخدم رسومية بديهية تم إنشاؤها لمستخدمي Windows 10 و11، وهي مصممة لتبسيط استخدام مديري حزم CLI الشائعة، مثل WinGet وScoop وChocolatey وPip وNpm و.NET Tool ومعرض PowerShell. .
وظائف UniGetUI
باستخدام UniGetUI، يمكنك بسهولة تنزيل البرامج المنشورة على جميع مديري الحزم المدعومة، وتثبيتها، وتحديثها، وإلغاء تثبيتها، وغير ذلك الكثير!
مديرو الحزم الذين يدعمهم UniGetUI
يرجى مراجعة "جدول مديري الحزم المدعومة" لمزيد من التفاصيل!
تنصل
ليس لمشروع UniGetUI أي اتصال مع أي مديري حزم مدعومين وهو غير رسمي تمامًا. يرجى ملاحظة أن Downcodes، مطور UniGetUI، ليس مسؤولاً عن البرامج التي تم تنزيلها. يرجى استخدامه بحذر!
يلاحظ
الموقع الرسمي لـ UniGetUI هو https://www.marticliment.com/unigetui/. وينبغي اعتبار أي موقع آخر غير رسمي، بغض النظر عما يقولونه. وعلى وجه الخصوص، فإن موقعwingetui.com ليس الموقع الرسمي لـ UniGetUI (المعروف سابقًا باسم WingetUI).
دعم المطورين
يعد دعمك أمرًا حيويًا للتطوير المستمر لـ UniGetUI ويحظى بتقدير عميق من قبل محرري Downcodes. شكرًا!
جدول المحتويات
1. التثبيت
هناك طرق متعددة لتثبيت UniGetUI، يرجى اختيار طريقة التثبيت المفضلة لديك!
* تثبيت متجر Microsoft (مستحسن)
انقر هنا لتنزيل برنامج تثبيت UniGetUI.
* التثبيت عبر Winget
``باش
تثبيت الجناح - بالضبط - معرف MartiCliment.UniGetUI - الجناح المصدر
`
* تم التثبيت عبر سكوب
ملحوظة: توجد حاليًا مشكلة في حزمة Scoop الخاصة بـ UniGetUI. الرجاء عدم تثبيت UniGetUI عبر Scoop حتى الآن.
``باش
# rem حزمة مغرفة UniGetUI الحالية معطلة، يرجى عدم تثبيت UniGetUI عبر مغرفة في الوقت الحالي
# rem مغرفة دلو إضافة إضافات
# rem مغرفة تثبيت الإضافات/wingetui
`
* تم التثبيت عبر Chocolatey
``باش
choco تثبيتwingetui
`
2. تحديث UniGetUI
يحتوي UniGetUI على وظيفة التحديث التلقائي المضمنة. ومع ذلك، يمكنك أيضًا تحديثه تمامًا مثل أي حزمة أخرى في UniGetUI (نظرًا لأن UniGetUI متاح من خلال Winget وScoop).
3. الوظيفة
* مدراء الحزم المدعومة
ملاحظة: يدعم جميع مديري الحزم عمليات التثبيت والتحديث وإلغاء التثبيت الأساسية، بالإضافة إلى التحقق من وجود تحديثات والعثور على حزم جديدة واسترداد التفاصيل من الحزم.
|. مدير الحزم |. الدعم |
|---|---|---|
|
|
|
|
|.نبم |
|.أداة .NET |
|. معرض بوويرشيل |
يوضح:
1. لا تدعم بعض الحزم التثبيت في مواقع أو نطاقات مخصصة وستتجاهل هذا الإعداد.
2. على الرغم من أن مدير الحزم قد لا يدعم إصدارات ما قبل النشر، إلا أنه قد يتم نسخ بعض الحزم، وإحدى النسخ هي نسخة تجريبية منها.
3. لا تحتوي بعض أدوات التثبيت على واجهة مستخدم رسومية وستتجاهل العلامة التفاعلية.
* ترجمة UniGetUI إلى لغات أخرى
لترجمة UniGetUI إلى لغات أخرى أو تحديث الترجمات القديمة، راجع UniGetUI Wiki لمزيد من المعلومات.
* اللغات المدعومة حاليا
* تم التحديث: الثلاثاء 29 أكتوبر 00:13:19 2024
4. المساهمة
لن يكون UniGetUI ممكنًا بدون مساعدة مساهمينا الأعزاء. بدءًا من الشخص الذي أصلح الخطأ المطبعي وحتى الشخص الذي قام بتحسين نصف الكود، لم يكن بإمكان UniGetUI الاستغناء عن مساهماتهم!
المساهمين:
*…
5. لقطة الشاشة
*…
6. الأسئلة المتداولة
* لا أستطيع تثبيت أو ترقية حزمة Winget معينة! ماذا أفعل؟
قد تكون هذه مشكلة مع Winget بدلاً من UniGetUI. يرجى التحقق مما إذا كان من الممكن تثبيت/ترقية الحزمة عبر PowerShell أو موجه الأوامر باستخدام ترقية جناح الأوامر أو تثبيت جناح (حسب الاقتضاء، على سبيل المثال: ترقية جناح -id Microsoft.PowerToys). إذا لم ينجح هذا، فكر في طلب المساعدة على صفحة مشروع Winget.
* يتم اقتطاع اسم الحزمة بواسطة علامات الحذف - كيفية عرض الاسم/المعرف الكامل الخاص بها؟
وهذا قيد معروف لـ Winget. راجع هذه المشكلة لمزيد من التفاصيل: microsoft/winget-cli#2603.
* يخبرني برنامج مكافحة الفيروسات الخاص بي أن UniGetUI عبارة عن فيروس! /يحظر متصفحي تنزيل UniGetUI!
أحد الأسباب الشائعة وراء حظر التطبيقات (أي الملفات القابلة للتنفيذ) و/أو اكتشافها كفيروسات - حتى لو لم تحتوي على تعليمات برمجية ضارة، مثل UniGetUI - هو أن عددًا قليلًا نسبيًا من الأشخاص يستخدمونها. أضف إلى ذلك حقيقة أنك ربما تقوم بتنزيل شيء تم إصداره مؤخرًا، وفي كثير من الحالات، يعد حظر التطبيقات غير المعروفة بمثابة إجراء احترازي جيد ضد البرامج الضارة الحقيقية. نظرًا لأن UniGetUI مفتوح المصدر وآمن للاستخدام، يرجى إدراج التطبيق في القائمة البيضاء في إعدادات برنامج/متصفح مكافحة الفيروسات لديك.
* هل أكياس Winget/Scoop آمنة؟
لا تتحمل UniGetUI وMicrosoft وScoop المسؤولية عن الحزم المتاحة للتنزيل، والتي توفرها جهات خارجية ويمكن نظريًا أن تكون معطلة. قامت Microsoft بتنفيذ بعض عمليات التحقق من البرامج المتوفرة على Winget لتقليل مخاطر تنزيل البرامج الضارة. ومع ذلك، يوصى بتنزيل البرامج من الناشرين الموثوقين فقط. تحقق من ويكي لمزيد من المعلومات!
7. معلمات سطر الأوامر
انظر هنا للحصول على قائمة كاملة من المعلمات.
8. مثال
*…
9. الترخيص
ترخيص أباتشي-2.0
إطار عمل Darknet للكشف عن الكائنات وYOLO
!darknet وشعار hank.ai
Darknet هو إطار شبكة عصبية مفتوح المصدر مكتوب بلغات C وC++ وCUDA.
YOLO (أنت تنظر مرة واحدة فقط) هو نظام متطور للكشف عن الأشياء في الوقت الفعلي في إطار عمل Darknet.
اقرأ كيف تساعد Hank.ai مجتمع Darknet/YOLO
الإعلان عن Darknet V3 "الجاز"
قم بزيارة موقع Darknet/YOLO
يرجى قراءة الأسئلة الشائعة حول Darknet/YOLO
انضم إلى خادم الفتنة Darknet/YOLO
أوراق
الورق YOLOv7
مقياس الورق-YOLOv4
الورق YOLOv4
ورقة YOLOv3
معلومات عامة
يعد إطار عمل Darknet/YOLO أسرع وأكثر دقة من أطر العمل الأخرى وإصدارات YOLO.
الإطار مجاني بالكامل ومفتوح المصدر. يمكنك دمج Darknet/YOLO في المشاريع والمنتجات الحالية - بما في ذلك المنتجات التجارية - دون ترخيص أو رسوم.
يمكن لـ Darknet V3 ("Jazz")، الذي تم إصداره في أكتوبر 2024، تشغيل مقاطع فيديو مجموعة بيانات LEGO بدقة تصل إلى 1000 إطارًا في الثانية عند استخدام وحدة معالجة الرسوميات NVIDIA RTX 3090، مما يعني أن كل إطار فيديو يكون في وقت 1 مللي ثانية أو أقل لقراءته وتغيير حجمه ومعالجته. بواسطة Darknet/YOLO.
إذا كنت بحاجة إلى مساعدة أو تريد مناقشة Darknet/YOLO، يرجى الانضمام إلى خادم Darknet/YOLO Discord: https://discord.gg/zSq8rtW
يمكن تشغيل إصدار وحدة المعالجة المركزية من Darknet/YOLO على أجهزة بسيطة مثل Raspberry Pi والخوادم السحابية وcolab وأجهزة الكمبيوتر المكتبية وأجهزة الكمبيوتر المحمولة ومعدات التدريب المتطورة. يتطلب إصدار GPU من Darknet/YOLO وحدة معالجة الرسومات المتوافقة مع CUDA من NVIDIA.
من المعروف أن Darknet/YOLO يعمل على Linux وWindows وMac. تحقق من تعليمات البناء أدناه.
نسخة دارك نت
لم تكن أدوات Darknet الأصلية التي كتبها جوزيف ريدمون في 2013-2017 تحتوي على أرقام إصدار. نعتقد أن هذا هو الإصدار 0.x.
مستودع Darknet الشهير التالي الذي تمت صيانته بين 2017-2021 بواسطة Alexey Bochkovskiy لا يحتوي أيضًا على رقم إصدار. نعتقد أن هذا هو الإصدار 1.x.
يعد مستودع Darknet الذي ترعاه Hank.ai ويديره Stéphane Charette اعتبارًا من عام 2023 هو أول مستودع يحتوي على أمر إصدار. ومن عام 2023 إلى نهاية عام 2024، يعود إلى الإصدار 2.x "OAK".
الهدف هو التعرف على قاعدة التعليمات البرمجية مع كسر أقل قدر ممكن من الوظائف الحالية.
أعد كتابة خطوات الإنشاء حتى يكون لدينا طريقة موحدة للبناء على نظامي التشغيل Windows وLinux باستخدام CMake.
تحويل قاعدة التعليمات البرمجية لاستخدام مترجم C++.
تعزيز Chart.png أثناء التدريب.
إصلاحات الأخطاء والتحسينات المتعلقة بالأداء، والتي تتعلق بشكل أساسي بتقليل الوقت اللازم لتدريب الشبكة.
الفرع الأخير من قاعدة التعليمات البرمجية هذه هو الإصدار 2.1 في الفرع v2.
تبدأ المرحلة التالية من التطوير في منتصف عام 2024 وسيتم إصدارها في أكتوبر 2024. يقوم أمر الإصدار الآن بإرجاع 3.x "JAZZ".
إذا كنت بحاجة إلى تشغيل أحد هذه الأوامر، فيمكنك دائمًا مراجعة فرع v2 السابق. يرجى إعلامنا حتى نتمكن من التحقيق في إضافة أي أوامر مفقودة.
تمت إزالة العديد من الأوامر القديمة والتي لم تتم صيانتها.
العديد من تحسينات الأداء، سواء أثناء التدريب أو الاستدلال.
تم تعديل واجهة برمجة تطبيقات C القديمة؛ تتطلب التطبيقات التي تستخدم واجهة برمجة تطبيقات Darknet الأصلية تعديلات طفيفة: https://darknetcv.ai/api/api.html
واجهة برمجة تطبيقات Darknet V3 C وC++ الجديدة: https://darknetcv.ai/api/api.html
تطبيقات جديدة ونموذج التعليمات البرمجية في أمثلة src: https://darknetcv.ai/api/files.html
MSCOCO الأوزان المدربة مسبقا
للراحة، تم تدريب العديد من الإصدارات الشائعة من YOLO مسبقًا على مجموعة بيانات MSCOCO. تحتوي مجموعة البيانات هذه على 80 فئة ويمكن رؤيتها في الملف النصي cfg/coco.names.
هناك العديد من مجموعات البيانات الأبسط والأوزان المدربة مسبقًا المتاحة لاختبار Darknet/YOLO، مثل LEGO Gears وRolodex. لمزيد من المعلومات، راجع الأسئلة الشائعة حول Darknet/YOLO.
يمكن تنزيل أوزان MSCOCO المدربة مسبقًا من عدد من المواقع المختلفة ويمكن أيضًا تنزيلها من هذا المستودع:
YOLOv2، نوفمبر 2016
*YOLOv2-صغيرة
*YOLOv2-كامل
YOLOv3، مايو 2018
* YOLOv3-صغيرة
*YOLOv3-كامل
YOLOv4، مايو 2020
* YOLOv4-صغيرة
*YOLOv4-كامل
YOLOv7، أغسطس 2022
* YOLOv7-صغيرة
*YOLOv7-كامل
أوزان MSCOCO المُدربة مسبقًا مخصصة لأغراض العرض التوضيحي فقط. توجد ملفات .cfg و.names المقابلة لـ MSCOCO في دليل 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. افي
`
لاحظ أنه ينبغي للمرء تدريب شبكته الخاصة. يُستخدم MSCOCO عادةً للتأكد من أن كل شيء يعمل بشكل صحيح.
يبني
تم دمج طرق البناء المختلفة المتوفرة في الماضي (قبل 2023) في حل موحد. يتطلب Darknet C++ 17 أو أعلى، وOpenCV، واستخدام CMake لإنشاء ملفات المشروع الضرورية.
لا تحتاج إلى معرفة لغة C++ لإنشاء أو تثبيت أو تشغيل Darknet/YOLO أكثر مما تحتاج إلى أن تكون ميكانيكيًا لقيادة السيارة.
جوجل كولاب
تعليمات Google Colab هي نفس تعليمات Linux. هناك العديد من دفاتر ملاحظات Jupyter التي توضح كيفية تنفيذ مهام معينة، مثل تدريب شبكة جديدة.
قم بإلقاء نظرة على دفتر الملاحظات في الدليل الفرعي colab، أو اتبع تعليمات Linux أدناه.
طريقة لينكس CMake
1. تثبيت التبعيات
``باش
سودو الرابطة بين الحصول على التحديث
sudo apt-get install build-essential git libopencv-dev cmake
`
2. استنساخ مستودع Darknet
``باش
استنساخ بوابة https://github.com/hank-ai/darknet.git
`
3. إنشاء دليل البناء
``باش
مؤتمر نزع السلاح داركنت
بناء مكدير
بناء القرص المضغوط
`
4. استخدم CMake لتكوين البناء
``باش
cmake -DCMAKEBUILDTYPE=إطلاق ..
`
5. بناء داركنت
``باش
جعل -j4
`
6. قم بتثبيت داركنت
``باش
سودو جعل التثبيت
`
7. اختبار داركنت
``باش
نسخة دارك نت
`
طرق Windows CMake
1. تثبيت التبعيات
``باش
Winget تثبيت Git.Git
تثبيت Winget Kitware.CMake
تثبيت Winget nsis.nsis
تثبيت Winget Microsoft.VisualStudio.2022.Community
`
2. قم بتثبيت OpenCV
``باش
القرص ج:
مكدير C:src
القرص المضغوط C:src
استنساخ بوابة https://github.com/microsoft/vcpkg.git
cd vcpkg
bootstrap-vcpkg.bat
.vcpkg.exe دمج التثبيت
.vcpkg.exe يدمج بوويرشيل
.vcpkg.exe تثبيت opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
`
3. استنساخ مستودع Darknet
``باش
القرص المضغوط C:src
استنساخ بوابة https://github.com/hank-ai/darknet.git
`
4. قم بإنشاء دليل البناء
``باش
مؤتمر نزع السلاح داركنت
بناء مكدير
بناء القرص المضغوط
`
5. استخدم CMake لتكوين البناء
``باش
cmake -DCMAKEBUILDTYPE=Release -DCMAKETOOLCHAINFILE=C:srcvcpkgscriptsbuildsystemsvcpkg.cmake ..
`
6. قم ببناء Darknet باستخدام Visual Studio
``باش
msbuild.exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln
`
7. إنشاء حزمة تثبيت NSIS
``باش
msbuild.exe /property:Platform=x64;التكوين=إصدار PACKAGE.vcxproj
`
8. قم بتشغيل داركنت
``باش
الإصدار C:srcdarknetbuildsrc-cliReleasedarknet.exe
`
باستخدام دارك نت
سطر الأوامر
ما يلي ليس قائمة كاملة بجميع الأوامر التي يدعمها Darknet.
بالإضافة إلى واجهة سطر الأوامر الخاصة بـ Darknet، لاحظ أيضًا واجهة سطر الأوامر لمشروع DarkHelp، والتي توفر واجهة سطر أوامر بديلة لـ Darknet/YOLO. يحتوي DarkHelp CLI أيضًا على العديد من الميزات المتقدمة غير الموجودة في Darknet. يمكنك استخدام Darknet CLI وDarkHelp CLI معًا، فهما لا يستبعد أحدهما الآخر.
بالنسبة لمعظم الأوامر الموضحة أدناه، ستحتاج إلى ملف .weights وملفات .names و.cfg المقابلة. يمكنك تدريب الشبكة بنفسك (نوصي بشدة!)، أو تنزيل الشبكات العصبية التي دربها الآخرون وهي متاحة مجانًا على الإنترنت. تتضمن أمثلة مجموعات بيانات ما قبل التدريب ما يلي:
LEGO Gears (البحث عن الأشياء في الصور)
Rolodex (ابحث عن النص في الصورة)
MSCOCO (الكشف عن الأشياء من الفئة القياسية 80)
تتضمن أوامر التشغيل ما يلي:
قم بإدراج بعض الأوامر والخيارات الممكنة التي يمكن تشغيلها:
مساعدة على الانترنت المظلم
التحقق من الإصدار:
نسخة دارك نت
استخدم الصور لعمل تنبؤات:
V2: اختبار كاشف الشبكة المظلمة cars.data Cars.cfg Cars_best.weights image1.jpg
V3: darknet02displayannotatedimages Cars.cfg image1.jpg
DarkHelp: DarkHelp Cars.cfg Cars.cfg Cars_best.weights image1.jpg
إحداثيات الإخراج:
V2: اختبار كاشف الشبكة المظلمة Animals.data Animals.cfg Animalbest.weights -extoutput dog.jpg
V3: darknet01inference_images حيوانات dog.jpg
DarkHelp: DarkHelp --json Animals.cfg Animals.names Animal_best.weights dog.jpg
استخدم الفيديو:
V2: العرض التوضيحي لكاشف الشبكة المظلمة للحيوانات.بيانات الحيوانات.cfg Animalbest.weights -extoutput test.mp4
V3: darknet03display_videos Animals.cfg test.mp4
DarkHelp: DarkHelp Animals.cfg Animals.names Animal_best.weights test.mp4
القراءة من كاميرا الويب:
V2: العرض التوضيحي لكاشف الشبكة المظلمة Animals.data Animals.cfg Animal_best.weights -c 0
V3: حيوانات darknet08display_webcam
حفظ النتائج بالفيديو:
V2: العرض التوضيحي لكاشف الشبكة المظلمة للحيوانات.بيانات الحيوانات.cfg Animalbest.weights test.mp4 -outfilename res.avi
V3: darknet05processvideosmultithreaded Animals.cfg للحيوانات.أسماء الحيوانات_أفضل.اختبار الأوزان.mp4
DarkHelp: DarkHelp Animals.cfg Animals.names Animal_best.weights test.mp4
جسون:
V2: العرض التوضيحي لكاشف الشبكة المظلمة للحيوانات.بيانات الحيوانات.cfg Animalbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
V3: darknet06imagestojson الحيوانات image1.jpg
DarkHelp: DarkHelp --json Animals.names Animals.cfg Animal_best.weights image1.jpg
التشغيل على وحدة معالجة رسومات محددة:
V2: العرض التوضيحي لكاشف الشبكة المظلمة Animals.data Animals.cfg Animal_best.weights -i 1 test.mp4
التحقق من دقة الشبكة العصبية:
``باش
خريطة كاشف الانترنت المظلم القيادة.بيانات القيادة.cfg القيادة_أفضل.الأوزان ...
اسم المعرف AvgPrecision TP FN FP TN الدقة ErrorRate الدقة استدعاء الخصوصية FalsePosRate
-- ---- ------------ ------ ------ ------ ------ -------- --------- --------- ------ ---------- ----------
0 مركبة 91.2495 32648 3903 5826 65129 0.9095 0.0905 0.8486 0.8932 0.9179 0.0821
1 دراجة نارية 80.4499 2936 513 569 5393 0.8850 0.1150 0.8377 0.8513 0.9046 0.0954
2 دراجة 89.0912 570 124 104 3548 0.9475 0.0525 0.8457 0.8213 0.9715 0.0285
3 أشخاص 76.7937 7072 1727 2574 27523 0.8894 0.1106 0.7332 0.8037 0.9145 0.0855
4 مركبات عديدة 64.3089 1068 509 733 11288 0.9087 0.0913 0.5930 0.6772 0.9390 0.0610
5 الضوء الأخضر 86.8118 1969 239 510 4116 0.8904 0.1096 0.7943 0.8918 0.8898 0.1102
6 الضوء الأصفر 82.0390 126 38 30 1239 0.9525 0.0475 0.8077 0.7683 0.9764 0.0236
7 الضوء الأحمر 94.1033 3449 217 451 4643 0.9237 0.0763 0.8844 0.9408 0.9115 0.0885
`
التحقق من الدقة mAP@IoU=75:
خريطة كاشف الشبكة المظلمة للحيوانات.بيانات الحيوانات.cfg Animalbest.weights -iouthresh 0.75
من الأفضل إجراء إعادة حساب نقاط الربط في DarkMark حيث سيتم تشغيلها 100 مرة متتالية واختيار أفضل نقطة ربط من جميع نقاط الربط المحسوبة. ومع ذلك، إذا كنت تريد تشغيل إصدار أقدم في Darknet:
كاشف الشبكة المظلمة calcanchors Animals.data -عدد_العناقيد 6 -العرض 320 -الارتفاع 256
تدريب شبكة جديدة:
كاشف الشبكة المظلمة -map -dont_show تدريب الحيوانات.بيانات الحيوانات.cfg (انظر أيضًا قسم التدريب أدناه)
يدرب
روابط سريعة للأقسام ذات الصلة من الأسئلة الشائعة حول Darknet/YOLO:
كيف أقوم بإعداد الملفات والأدلة الخاصة بي؟
ما الملف الشخصي الذي يجب أن أستخدمه؟
ما الأمر الذي يجب عليك استخدامه عند تدريب شبكتك الخاصة؟
يعد استخدام DarkMark لإنشاء جميع ملفات Darknet الضرورية هو أسهل طريقة للتعليق والتدريب. هذه بالتأكيد هي الطريقة الموصى بها لتدريب الشبكات العصبية الجديدة.
إذا كنت ترغب في إعداد الملفات المختلفة يدويًا لتدريب شبكة مخصصة:
1. قم بإنشاء مجلد جديد
قم بإنشاء مجلد جديد لتخزين الملفات. على سبيل المثال، ستقوم بإنشاء شبكة عصبية لاكتشاف الحيوانات، لذا قم بإنشاء الدليل التالي: ~/nn/animals/.
2. انسخ ملف التكوين
انسخ أحد ملفات تكوين Darknet التي تريد استخدامها كقالب. على سبيل المثال، راجع cfg/yolov4-tiny.cfg. ضعه في المجلد الذي قمت بإنشائه. على سبيل المثال، لدينا الآن ~/nn/animals/animals.cfg.
3. قم بإنشاء ملف الأسماء
قم بإنشاء ملف نصي Animals.names في نفس المجلد الذي قمت بوضع ملف التكوين فيه. على سبيل المثال، لدينا الآن ~/nn/animals/animals.names.
4. قم بتحرير ملف الأسماء
استخدم محرر النصوص لتحرير ملف Animals.names. قم بإدراج الفئات التي تريد استخدامها. يجب أن يكون هناك إدخال واحد بالضبط في كل سطر، بدون أسطر فارغة، وبدون تعليقات. على سبيل المثال، سيحتوي ملف .names على 4 أسطر بالضبط:
`
كلب
قطة
طائر
حصان
`
5. قم بإنشاء ملف بيانات
قم بإنشاء ملف نصي Animals.data في نفس المجلد. على سبيل المثال، قد يحتوي ملف .data على:
`
الطبقات = 4
Train=/home/username/nn/animals/animals_train.txt
valid=/home/username/nn/animals/animals_valid.txt
names=/home/username/nn/animals/animals.names
Backup=/home/username/nn/animals
`
6. قم بإنشاء مجلد مجموعة البيانات
قم بإنشاء مجلد لتخزين الصور والتعليقات التوضيحية الخاصة بك. على سبيل المثال، قد يكون هذا ~/nn/animals/dataset. تتطلب كل صورة ملف .txt مطابق يصف التعليقات التوضيحية لتلك الصورة. تنسيق ملفات التعليق .txt محدد للغاية. لا يمكنك إنشاء هذه الملفات يدويًا لأن كل تعليق توضيحي يجب أن يحتوي على الإحداثيات الدقيقة للتعليق التوضيحي. تحقق من DarkMark أو أي برنامج آخر مشابه لإضافة تعليقات توضيحية إلى صورك. تم توضيح تنسيق التعليقات التوضيحية YOLO في الأسئلة الشائعة حول Darknet/YOLO.
7. قم بإنشاء ملفات "القطار" و"الصالحة".
قم بإنشاء ملفات نصية "قطار" و"صالحة" مسماة في ملف البيانات. يحتاج هذان الملفان النصيان إلى إدراج جميع الصور التي يجب أن يستخدمها Darknet للتدريب والتحقق من الصحة عند حساب mAP%، على التوالي. صورة واحدة بالضبط لكل صف. يمكن أن تكون المسارات وأسماء الملفات نسبية أو مطلقة.
8. قم بتعديل ملف .cfg
استخدم محرر النصوص لتعديل ملف .cfg الخاص بك.
* تأكد من الدفعة = 64.
*الانتباه إلى الأقسام الفرعية. اعتمادًا على حجم الشبكة وحجم الذاكرة المتوفرة على وحدة معالجة الرسومات، قد تحتاج إلى زيادة التقسيمات الفرعية. القيمة المثالية هي 1، لذا ابدأ بـ 1. إذا لم يعمل الخيار 1 معك، فيرجى الاطلاع على الأسئلة الشائعة حول Darknet/YOLO.
لاحظ maxbatches =…. القيمة الجيدة للبدء بها هي 2000 ضعف عدد الفئات. على سبيل المثال، لدينا 4 حيوانات، إذن 42000 = 8000. هذا يعني أننا سنستخدم maxbatches=8000.
*ملاحظة الخطوات=…. يجب ضبط هذا على 80% و90% من الدفعات القصوى. على سبيل المثال، نظرًا لأنه تم تعيين maxbatches على 8000، فسنستخدم الخطوات=6400,7200.
*ملاحظة العرض=... والارتفاع=.... هذه هي أبعاد الشبكة. تشرح الأسئلة الشائعة لـ Darknet/YOLO كيفية حساب الحجم الأمثل للاستخدام.
في القسم [التلافيفي] قبل كل قسم [yolo]، ابحث عن كافة مثيلات الصفوف=... والمرشحات=.... القيمة المستخدمة هي (عدد الفئات + 5) 3. وهذا يعني أنه في هذا المثال، (4 + 5) * 3 = 27. لذلك سوف نستخدم عوامل التصفية = 27 على السطر المقابل.
9. ابدأ التدريب
قم بتشغيل الأمر التالي:
``باش
مؤتمر نزع السلاح ~/ن/الحيوانات/
كاشف الشبكة المظلمة -خريطة -dont_show تدريب الحيوانات.بيانات الحيوانات.cfg
`
كن صبوراً. سيتم حفظ أفضل الأوزان باسم Animal_best.weights. يمكنك ملاحظة تقدم التدريب من خلال عرض ملف Chart.png. راجع الأسئلة الشائعة حول Darknet/YOLO للحصول على معلمات إضافية قد ترغب في استخدامها عند تدريب شبكة جديدة.
إذا كنت تريد رؤية المزيد من التفاصيل أثناء التدريب، أضف المعلمة --verbose. على سبيل المثال:
``باش
كاشف الشبكة المظلمة -خريطة -dont_show --قطار مطول للحيوانات.بيانات الحيوانات.cfg
`
أدوات وروابط أخرى
لإدارة مشروع Darknet/YOLO الخاص بك، وإضافة تعليقات توضيحية إلى الصور، والتحقق من صحة التعليقات التوضيحية، وإنشاء الملفات الضرورية المطلوبة للتدريب مع Darknet، راجع DarkMark.
للحصول على بديل قوي لواجهة سطر الأوامر (CLI) لـ Darknet لاستخدام دمج الصور أو تتبع الكائنات في الفيديو أو استخدام واجهة برمجة تطبيقات C++ القوية التي يمكن استخدامها بسهولة في التطبيقات التجارية، راجع DarkHelp.
تحقق من الأسئلة الشائعة حول Darknet/YOLO لمعرفة ما إذا كان يمكن أن يساعدك في الإجابة على سؤالك.
اطلع على العديد من البرامج التعليمية وأمثلة مقاطع الفيديو على قناة Stéphane على YouTube
إذا كانت لديك أسئلة حول الدعم أو تريد الدردشة مع مستخدمي Darknet/YOLO الآخرين، فيرجى الانضمام إلى خادم Darknet/YOLO discord.
خريطة الطريق
آخر تحديث بتاريخ 2024-10-30:
مكتمل
تم استبدال qsort() بـ std::sort() أثناء التدريب (لا تزال بعض الأمور الغامضة الأخرى موجودة)
إزالة check_mistakes و getchar() و system()
تحويل Darknet لاستخدام مترجم C++ (g++ على Linux، Visual Studio على Windows)
إصلاح بناء ويندوز
إصلاح دعم بايثون
بناء مكتبة دارك نت
إعادة تمكين التصنيفات في التنبؤات (رمز "الأبجدية")
أعد تمكين رمز CUDA/GPU
أعد تمكين CUDNN
أعد تمكين نصف CUDNN
لا تقم بترميز بنية CUDA
معلومات إصدار CUDA أفضل
أعد تمكين AVX
إزالة الحل القديم وMakefile
جعل OpenCV غير اختياري
إزالة التبعية على مكتبة pthread القديمة
حذف STB
أعد كتابة CMakeLists.txt لاستخدام أدوات CUDA الجديدة
تمت إزالة رمز "الأبجدية" القديم وحذف أكثر من 700 صورة في البيانات/التسميات
البناء خارج كود المصدر
الحصول على إخراج رقم الإصدار أفضل
تحسينات الأداء المتعلقة بالتدريب (المهام المستمرة)
تحسينات الأداء المتعلقة بالاستدلال (المهام المستمرة)
استخدم المراجع حسب القيمة كلما أمكن ذلك
تنظيف ملفات hpp
إعادة كتابة darknet.h
لا تقم بتحويل cv::Mat إلى void، وبدلاً من ذلك استخدمه ككائن C++ مناسب
إصلاح أو الحفاظ على الاستخدام المتسق لهياكل الصور الداخلية
إصلاح البنية لأجهزة Jetson المستندة إلى ARM
*من غير المرجح أن يتم إصلاح أجهزة Jetson الأصلية لأنها لم تعد مدعومة من قبل NVIDIA (لا يوجد مترجم C++ 17)
* جهاز Jetson Orin الجديد قيد التشغيل الآن
إصلاح Python API في V3
* هل تحتاج إلى دعم أفضل لـ Python (هل هناك أي مطورين لـ Python يرغبون في المساعدة؟)
أهداف قصيرة المدى
استبدل printf() بـ std::cout (العمل قيد التقدم)
التحقق من دعم كاميرا Zed القديمة
تحليل سطر أوامر أفضل وأكثر اتساقًا (العمل قيد التقدم)
أهداف منتصف المدة
قم بإزالة جميع رموز char واستبدلها بـ std::string
لا تخفي التحذيرات وقم بتنظيف تحذيرات المترجم (العمل قيد التقدم)
من الأفضل استخدام cv::Mat بدلاً من بنيات الصور المخصصة في لغة C (العمل قيد التقدم)
استبدل وظائف القائمة القديمة بـ std::vector أو std::list
إصلاح الدعم للصور ذات التدرج الرمادي ذات القناة الواحدة
إضافة دعم لصور القنوات N حيث N > 3 (مثل الصور ذات العمق الإضافي أو القنوات الحرارية)
تنظيف الكود المستمر (قيد التقدم)
أهداف طويلة المدى
إصلاح مشكلات CUDA/CUDNN على جميع وحدات معالجة الرسومات
أعد كتابة كود CUDA + cuDNN
التحقيق في إضافة دعم لوحدات معالجة الرسومات غير التابعة لـ NVIDIA
مربع محيط مستدير، أو نوع من دعم "الزاوية".
النقاط الرئيسية/الهيكل العظمي
خريطة الحرارة (جاري العمل)
التجزئة