وكيل الخدمة/الوسيط/الخدمة عالي الأداء المعتمد على السحابة الأصلية
تتم استضافة Envoy بواسطة Cloud Native Computing Foundation (CNCF). إذا كنت شركة ترغب في المساعدة في تشكيل تطور التقنيات المجمعة بالحاويات والمجدولة ديناميكيًا والموجهة نحو الخدمات الصغيرة، ففكر في الانضمام إلى CNCF المعنية وكيف يلعب المبعوث دورًا، اقرأ إعلان CNCF.
التوثيق
ملاحظة من محرر Downcodes: لدى Envoy وثائق كاملة، يمكنك الرجوع إلى الموارد التالية:
الوثائق الرسمية
مستودع جيثب
متعلق ب
ملاحظة محرر Downcodes: يرتبط Envoy ارتباطًا وثيقًا بالتقنيات التالية:
تكنولوجيا الحاويات: Docker، Kubernetes
شبكة الخدمة: Istio، Linkerd
بنية الخدمات الصغيرة: gRPC، RESTful API
اتصال
ملاحظة من محرر Downcodes: يمكنك الاتصال بمجتمع Envoy من خلال القنوات التالية:
القائمة البريدية
قناة سلاكة
المساهمة
ملاحظة من محرر Downcodes: إذا كنت تريد المساهمة بكود برمجي في مشروع Envoy، فيرجى الرجوع إلى الخطوات التالية:
1. تعرف على قاعدة التعليمات البرمجية: اقرأ التعليمات البرمجية المصدر لـ Envoy لفهم هيكلها وتصميمها.
2. حدد مهمة: حدد المهمة التي تهمك في مستودع GitHub.
3. إرسال الكود: اتبع مواصفات نمط الترميز الخاص بـ Envoy وأرسل الكود الخاص بك.
اجتماع المجتمع
ملاحظة محرر Downcodes: يجتمع مجتمع Envoy مرتين شهريًا كل يوم ثلاثاء في الساعة 9 صباحًا بتوقيت المحيط الهادئ.
تقويم جوجل
محضر الاجتماع
ملاحظة من محرر Downcodes: يمكن لأي عضو في المجتمع إثارة مشكلة عن طريق إضافة مشكلة إلى محضر الاجتماع. سيقوم المشرف بتأكيد الموضوع خلال 24 ساعة، أو إذا لم يكن هناك موضوعات مؤكدة في الاجتماع، فسيتم إلغاء الاجتماع خلال 24 ساعة قبل موعد الاجتماع.
حماية
ملاحظة من محرر Downcodes: يولي مشروع Envoy أهمية كبيرة لقضايا الأمان.
التدقيق الأمني
ملاحظة من محرر Downcodes: خضع مشروع Envoy لعمليات تدقيق أمنية متعددة من جهات خارجية.
الإبلاغ عن الثغرات الأمنية
ملاحظة من محرر Downcodes: إذا اكتشفت ثغرة أمنية في مشروع Envoy، فيرجى إرسال تقرير الثغرة الأمنية إلى [email protected]. سنرسل إليك رسالة تأكيد بالبريد الإلكتروني لتأكيد بلاغك، وسنرسل رسائل بريد إلكتروني إضافية بمجرد أن نحدد ما إذا كانت المشكلة موجودة أم لا.
ملاحظة من محرر Downcodes: لمزيد من المعلومات، يرجى الاطلاع على عملية الإصدار الآمن الكاملة لدينا.
الإصدارات
ملاحظة من محرر Downcodes: للحصول على تفاصيل حول إصدارات إصدار Envoy، يرجى الاطلاع على عملية الإصدار لدينا.
مثال
`
ترخيص أباتشي-2.0
جدول المحتويات
Darknet Object Detection Framework وYOLO
أوراق
معلومات عامة
نسخة دارك نت
أوزان MSCOCO المدربة مسبقًا
مبنى
جوجل كولاب
طريقة لينكس CMake
طريقة ويندوز CMake
باستخدام دارك نت
سطر الأوامر
تمرين
أدوات وروابط أخرى
خريطة الطريق
أهداف قصيرة المدى
أهداف منتصف المدة
أهداف طويلة المدى
Darknet Object Detection Framework وYOLO
!الشبكة المظلمة الشعار
!Hank.ai الشعار
ملاحظة محرر Downcodes: Darknet عبارة عن إطار عمل للشبكة العصبية مفتوح المصدر مكتوب بلغات C وC++ وCUDA.
ملاحظة محرر Downcodes: YOLO (أنت تنظر مرة واحدة فقط) هو نظام متطور للكشف عن الأهداف في الوقت الفعلي ويتم تشغيله في إطار عمل Darknet.
ملاحظة من محرر Downcodes: تعرف على المزيد حول كيفية مساعدة Hank.ai لمجتمع Darknet/YOLO.
ملاحظة محرر الرموز السفلية: موقع Darknet/YOLO
ملاحظة محرر الرموز السفلية: الأسئلة الشائعة حول Darknet/YOLO
ملاحظة محرر الرموز السفلية: Darknet/YOLO Discord Server
أوراق
ملاحظة من محرر Downcodes: فيما يلي بعض الأبحاث حول YOLO:
1. YOLOv7: رابط ورقي
2. Scaled-YOLOv4: رابط ورقي
3.YOLOv4: رابط ورقي
4. YOLOv3: رابط ورقي
معلومات عامة
ملاحظة محرر Downcodes: إطار عمل Darknet/YOLO أسرع وأكثر دقة من أطر العمل الأخرى وإصدارات YOLO.
ملاحظة من محرر Downcodes: إطار العمل مجاني تمامًا ومفتوح المصدر. يمكنك دمج Darknet/YOLO في المشاريع والمنتجات الحالية، بما في ذلك المنتجات التجارية، دون ترخيص أو رسوم.
ملاحظة محرر Downcodes: يمكن لـ Darknet V3 ("Jazz") الذي تم إصداره في أكتوبر 2024 تشغيل فيديو مجموعة بيانات LEGO بدقة تصل إلى 1000 إطار في الثانية، مما يعني أن كل إطار فيديو يكون في 1 مللي ثانية عند استخدام وحدة معالجة الرسومات NVIDIA RTX 3090 أو يمكن قراءته وتغيير حجمه ومعالجته. بواسطة Darknet/YOLO في وقت أقل.
ملاحظة من محرر Downcodes: إذا كنت بحاجة إلى مساعدة أو تريد مناقشة Darknet/YOLO، فيرجى الانضمام إلى خادم Darknet/YOLO Discord: https://discord.gg/zSq8rtW
ملاحظة من محرر Downcodes: يمكن تشغيل إصدار وحدة المعالجة المركزية من Darknet/YOLO على أجهزة بسيطة مثل Raspberry Pi والخوادم السحابية وخوادم Colab وأجهزة الكمبيوتر المكتبية وأجهزة الكمبيوتر المحمولة ومعدات التدريب المتطورة. يتطلب إصدار GPU من Darknet/YOLO وحدة معالجة رسومات مع دعم NVIDIA CUDA.
ملاحظة من محرر Downcodes: من المعروف أن Darknet/YOLO يعمل على Linux وWindows وMac. انظر تعليمات البناء أدناه.
نسخة دارك نت
ملاحظة محرر Downcodes: لم يكن لأداة Darknet الأصلية التي كتبها جوزيف ريدمون في 2013-2017 رقم إصدار. نحن نعتبر هذا الإصدار 0.x.
ملاحظة محرر Downcodes: لا يحتوي مستودع Darknet الشهير التالي الذي يحتفظ به Alexey Bochkovskiy من 2017 إلى 2021 أيضًا على رقم إصدار. نعتقد أن هذا الإصدار هو 1.x.
ملاحظة محرر Downcodes: مستودع Darknet الذي ترعاه Hank.ai ويديره Stéphane Charette اعتبارًا من عام 2023 هو أول مستودع يحتوي على أمر إصدار. ومن عام 2023 إلى نهاية عام 2024، يعود إلى الإصدار 2.x "OAK".
ملاحظة من محرر Downcodes: الهدف هو تقليل تعطيل الوظائف الحالية مع التعرف على قاعدة التعليمات البرمجية.
ملاحظة محرر Downcodes: أعد كتابة خطوات الإنشاء حتى يكون لدينا طريقة موحدة للبناء على نظامي التشغيل Windows وLinux باستخدام CMake.
ملاحظة محرر Downcodes: قم بتحويل قاعدة التعليمات البرمجية لاستخدام مترجم C++.
ملاحظة محرر الرموز السفلية: تم تحسين Chart.png أثناء التدريب.
ملاحظة من محرر Downcodes: ترتبط إصلاحات الأخطاء والتحسينات المتعلقة بالأداء بشكل أساسي بتقصير الوقت اللازم لتدريب الشبكة.
ملاحظة من محرر Downcodes: الفرع الأخير من قاعدة التعليمات البرمجية هذه هو الإصدار 2.1 في الفرع v2.
ملاحظة محرر Downcodes: تبدأ المرحلة التالية من التطوير في منتصف عام 2024 وسيتم إصدارها في أكتوبر 2024. يقوم أمر الإصدار الآن بإرجاع 3.x "JAZZ".
ملاحظة من محرر Downcodes: إذا كنت بحاجة إلى تشغيل أحد هذه الأوامر، فيمكنك دائمًا التحقق من فرع v2 السابق. يرجى إعلامنا حتى نتمكن من التحقيق في إضافة أي أوامر مفقودة.
ملاحظة محرر Downcodes: تمت إزالة العديد من الأوامر القديمة والتي لم تتم صيانتها.
ملاحظة محرر Downcodes: العديد من تحسينات الأداء، بما في ذلك التحسينات أثناء التدريب والاستدلال.
ملاحظة محرر Downcodes: تم تعديل واجهة برمجة تطبيقات C القديمة؛ وتتطلب التطبيقات التي تستخدم واجهة برمجة تطبيقات Darknet الأصلية بعض التعديلات الطفيفة: https://darknetcv.ai/api/api.html
ملاحظة من محرر Downcodes: New Darknet V3 C وC++ API: https://darknetcv.ai/api/api.html
ملاحظة محرر الرموز السفلية: التطبيقات الجديدة ونماذج الأكواد في أمثلة src: https://darknetcv.ai/api/files.html
أوزان MSCOCO المدربة مسبقًا
ملاحظة محرر Downcodes: من أجل الراحة، تم تدريب العديد من إصدارات YOLO الشائعة مسبقًا لتناسب مجموعة بيانات MSCOCO. تحتوي مجموعة البيانات هذه على 80 فئة ويمكن رؤيتها في الملف النصي cfg/coco.names.
ملاحظة محرر الرموز السفلية: هناك العديد من مجموعات البيانات الأبسط والأوزان المدربة مسبقًا والتي يمكن استخدامها لاختبار Darknet/YOLO، مثل LEGO Gears وRolodex. لمزيد من المعلومات، راجع الأسئلة الشائعة حول Darknet/YOLO.
ملاحظة من محرر Downcodes: يمكن تنزيل أوزان MSCOCO المدربة مسبقًا من عدة مواقع مختلفة، أو من هذا المستودع:
1. YOLOv2، نوفمبر 2016:
*YOLOv2-صغيرة
*YOLOv2-كامل
2. YOLOv3، مايو 2018:
* YOLOv3-صغيرة
*YOLOv3-كامل
3. YOLOv4، مايو 2020:
* YOLOv4-صغيرة
*YOLOv4-كامل
4. YOLOv7، أغسطس 2022:
* YOLOv7-صغيرة
*YOLOv7-كامل
ملاحظة من محرر Downcodes: الأوزان المدربة مسبقًا من 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. افي
`
ملاحظة محرر Downcodes: يرجى ملاحظة أنه يجب على الأشخاص تدريب شبكاتهم الخاصة. غالبًا ما يتم استخدام MSCOCO للتأكد من أن كل شيء يعمل بشكل صحيح.
مبنى
ملاحظة محرر Downcodes: تم دمج طرق البناء المختلفة من الماضي (قبل 2023) في حل موحد. يتطلب Darknet C++ 17 أو أعلى، وOpenCV، واستخدام CMake لإنشاء ملفات المشروع الضرورية.
ملاحظة محرر الرموز السفلية: لا تحتاج إلى معرفة لغة C++ لإنشاء أو تثبيت أو تشغيل Darknet/YOLO، تمامًا مثلما لا تحتاج إلى أن تكون ميكانيكيًا لقيادة السيارة.
جوجل كولاب
ملاحظة من محرر Downcodes: التعليمات الخاصة بـ Google Colab هي نفس التعليمات الخاصة بنظام التشغيل Linux. تتوفر العديد من دفاتر ملاحظات Jupyter التي توضح كيفية تنفيذ مهام معينة، مثل تدريب شبكة جديدة.
ملاحظة محرر Downcodes: راجع دفتر الملاحظات في الدليل الفرعي colab، أو اتبع تعليمات Linux أدناه.
طريقة لينكس CMake
ملاحظة محرر الرموز السفلية: البرنامج التعليمي لبناء Linux الخاص بـ Darknet
ملاحظة محرر الرموز السفلية: اختياري: إذا كان لديك وحدة معالجة رسومات NVIDIA حديثة، فيمكنك تثبيت CUDA أو CUDA+cuDNN في الوقت الحالي. إذا تم تثبيته، فسوف يستخدم Darknet وحدة معالجة الرسومات (GPU) الخاصة بك لتسريع معالجة الصور (والفيديو).
ملاحظة محرر Downcodes: يجب عليك حذف ملف CMakeCache.txt من دليل إنشاء Darknet لإجبار CMake على إعادة العثور على كافة الملفات الضرورية.
ملاحظة من محرر Downcodes: يرجى تذكر إعادة بناء Darknet.
ملاحظة محرر الرموز السفلية: يمكن تشغيل Darknet، ولكن إذا كنت ترغب في تدريب شبكة مخصصة، فأنت بحاجة إلى CUDA أو CUDA+cuDNN.
ملاحظة من محرر Downcodes: تفضل بزيارة https://developer.nvidia.com/cuda-downloads لتنزيل CUDA وتثبيته.
ملاحظة من محرر Downcodes: تفضل بزيارة https://developer.nvidia.com/rdp/cudnn-download أو https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn-package-manager- نظرة عامة على التثبيت قم بتنزيل وتثبيت cuDNN.
ملاحظة من محرر Downcodes: بعد تثبيت CUDA، يرجى التأكد من أنه يمكنك تشغيل nvcc وnvidia-smi. قد تحتاج إلى تعديل متغير PATH.
ملاحظة من محرر Downcodes: إذا قمت بتثبيت CUDA أو CUDA+cuDNN لاحقًا، أو الترقية إلى إصدار أحدث من برنامج NVIDIA:
ملاحظة من محرر Downcodes: تفترض هذه التعليمات (ولكنها لا تتطلب!) نظامًا يعمل بنظام التشغيل Ubuntu 22.04. إذا كنت تستخدم توزيعًا آخر، فاضبطه حسب الحاجة.
``باش
sudo apt-get install build-essential git libopencv-dev cmake
mkdir ~/srccd ~/src
استنساخ بوابة https://github.com/hank-ai/darknetcd darknet
بناء mkdir buildcd
cmake -DCMAKEBUILDTYPE=إطلاق ..
حزمة make -j4
sudo dpkg -i darknet-VERSION.deb
`
ملاحظة من محرر Downcodes: إذا كنت تستخدم إصدارًا أقدم من CMake، فستحتاج إلى ترقية CMake قبل تشغيل أمر cmake أعلاه. يمكن ترقية CMake على Ubuntu باستخدام الأمر التالي:
``باش
sudo apt-get purge cmakesudo snap install cmake --classic
`
ملاحظة محرر Downcodes: إذا كنت تستخدم bash كواجهة أوامر، فستحتاج إلى إعادة تشغيل الصدفة هنا. إذا كنت تستخدم السمكة فيجب أن تلتقط المسار الجديد على الفور.
ملاحظة محرر Downcodes: المستخدمون المتقدمون:
ملاحظة محرر Downcodes: إذا كنت تريد إنشاء ملف تثبيت RPM بدلاً من ملف DEB، فيرجى الاطلاع على الأسطر ذات الصلة في CM_package.cmake. قبل تشغيل حزمة make -j4، عليك تعديل هذين السطرين:
`
مجموعة (CPACKGENERATOR "DEB")# مجموعة (CPACKGENERATOR "RPM")
`
ملاحظة من محرر Downcodes: بالنسبة لتوزيعات مثل Centos وOpenSUSE، تحتاج إلى تغيير هذين السطرين في CM_package.cmake إلى:
`
مجموعة (CPACKGENERATOR "DEB") مجموعة (CPACKGENERATOR "RPM")
`
ملاحظة محرر Downcodes: لتثبيت حزمة التثبيت، بمجرد الانتهاء من بنائها، استخدم مدير الحزم المعتاد للتوزيع الخاص بك. على سبيل المثال، في نظام يستند إلى دبيان مثل Ubuntu:
``باش
sudo dpkg -i darknet-2.0.1-Linux.deb
`
ملاحظة من محرر Downcodes: سيؤدي تثبيت حزمة .deb إلى نسخ الملفات التالية:
/usr/bin/darknet هو برنامج Darknet المعتاد القابل للتنفيذ. قم بتشغيل إصدار darknet من واجهة سطر الأوامر (CLI) للتأكد من تثبيته بشكل صحيح.
/usr/include/darknet.h هو Darknet API، الذي يستخدمه مطورو C وC++ وPython.
يحتوي /usr/include/darknet_version.h على معلومات إصدار المطور.
/usr/lib/libdarknet.so هي مكتبة لمطوري C وC++ وPython للارتباط بها.
/opt/darknet/cfg/... هو المكان الذي يتم فيه تخزين كافة قوالب .cfg.
ملاحظة من محرر Downcodes: لقد انتهيت الآن! تم إنشاء Darknet وتثبيته في /usr/bin/. قم بتشغيل الأمر التالي للاختبار: إصدار darknet.
ملاحظة محرر Downcodes: إذا لم يكن لديك /usr/bin/darknet، فهذا يعني أنك لم تقم بتثبيته، بل قمت بإنشائه للتو! الرجاء التأكد من اتباع الخطوات المذكورة أعلاه لتثبيت ملف .deb أو .rpm.
طريقة ويندوز CMake
ملاحظة محرر Downcodes: تفترض هذه التعليمات تثبيتًا جديدًا لنظام التشغيل Windows 11 22H2.
ملاحظة من محرر Downcodes: افتح نافذة موجه أوامر cmd.exe عادية وقم بتشغيل الأمر التالي:
``باش
Winget تثبيت Git.Git
تثبيت Winget Kitware.CMake
تثبيت Winget nsis.nsis
تثبيت Winget Microsoft.VisualStudio.2022.Community
`
ملاحظة من محرر Downcodes: في هذه المرحلة، نحتاج إلى تعديل تثبيت Visual Studio ليشمل دعم تطبيقات C++:
1. انقر فوق قائمة "ابدأ في Windows" وقم بتشغيل "Visual Studio Setup".
2. انقر فوق تحرير.
3. اختر تطوير سطح المكتب باستخدام C++.
4. انقر فوق "تحرير" في الزاوية اليمنى السفلية، ثم انقر فوق "نعم".
ملاحظة محرر Downcodes: بمجرد تنزيل كل شيء وتثبيته، انقر فوق قائمة ابدأ في Windows مرة أخرى وحدد Developer Command Prompt for VS 2022. لا تستخدم PowerShell لتنفيذ هذه الخطوات وإلا قد تحدث مشكلات!
ملاحظة محرر Downcodes: المستخدمون المتقدمون:
ملاحظة محرر Downcodes: بالإضافة إلى تشغيل موجه أوامر المطور، يمكنك أيضًا تسجيل الدخول إلى الجهاز باستخدام موجه أوامر عادي أو ssh وتشغيل "Program FilesMicrosoft Visual Studio2022CommunityCommon7ToolsVsDevCmd.bat" يدويًا.
ملاحظة محرر Downcodes: بمجرد تشغيل موجه أوامر المطور أعلاه (وليس PowerShell!)، قم بتشغيل الأمر التالي لتثبيت Microsoft VCPKG، والذي سيتم استخدامه لإنشاء OpenCV:
``باش
cd c:mkdir c:srccd c:src
استنساخ بوابة https://github.com/microsoft/vcpkgcd vcpkg
bootstrap-vcpkg.bat .vcpkg.exe دمج التثبيت
.vcpkg.exe يدمج بوويرشيل
.vcpkg.exe تثبيت opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
`
ملاحظة محرر Downcodes: يرجى التحلي بالصبر مع هذه الخطوة الأخيرة حيث قد يستغرق تشغيلها وقتًا طويلاً. يتطلب تنزيل وبناء الكثير من الأشياء.
ملاحظة محرر Downcodes: المستخدمون المتقدمون:
ملاحظة محرر الرموز السفلية: يرجى ملاحظة أنه عند إنشاء OpenCV، قد تحتاج إلى إضافة العديد من الوحدات الاختيارية الأخرى. قم بتشغيل .vcpkg.exe للبحث في opencv لرؤية القائمة الكاملة.
ملاحظة محرر الرموز السفلية: اختياري: إذا كان لديك وحدة معالجة رسومات NVIDIA حديثة، فيمكنك تثبيت CUDA أو CUDA+cuDNN في الوقت الحالي. إذا تم تثبيته، فسوف يستخدم Darknet وحدة معالجة الرسومات (GPU) الخاصة بك لتسريع معالجة الصور (والفيديو).
ملاحظة محرر Downcodes: يجب عليك حذف ملف CMakeCache.txt من دليل إنشاء Darknet لإجبار CMake على إعادة العثور على كافة الملفات الضرورية.
ملاحظة من محرر Downcodes: يرجى تذكر إعادة بناء Darknet.
ملاحظة محرر الرموز السفلية: يمكن تشغيل Darknet، ولكن إذا كنت ترغب في تدريب شبكة مخصصة، فأنت بحاجة إلى CUDA أو CUDA+cuDNN.
ملاحظة من محرر Downcodes: تفضل بزيارة https://developer.nvidia.com/cuda-downloads لتنزيل CUDA وتثبيته.
ملاحظة من محرر Downcodes: تفضل بزيارة https://developer.nvidia.com/rdp/cudnn-download أو https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#download-windows للتنزيل والتنزيل قم بتثبيت cuDNN.
ملاحظة من محرر Downcodes: بعد تثبيت CUDA، يرجى التأكد من أنه يمكنك تشغيل nvcc.exe وnvidia-smi.exe. قد تحتاج إلى تعديل متغير PATH.
ملاحظة من محرر Downcodes: بعد تنزيل cuDNN، قم بفك ضغط السلة ونسخها، وقم بتضمين أدلة lib إلى C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/[version]/. قد تحتاج إلى الكتابة فوق بعض الملفات.
ملاحظة من محرر Downcodes: إذا قمت بتثبيت CUDA أو CUDA+cuDNN لاحقًا، أو الترقية إلى إصدار أحدث من برنامج NVIDIA:
ملاحظة من محرر Downcodes: يجب تثبيت CUDA بعد Visual Studio. إذا قمت بترقية Visual Studio، تذكر إعادة تثبيت CUDA.
ملاحظة محرر الرموز السفلية: بمجرد اكتمال جميع الخطوات السابقة بنجاح، ستحتاج إلى استنساخ Darknet وإنشائه. في هذه الخطوة نحتاج أيضًا إلى إخبار CMake بمكان وجود vcpkg حتى يتمكن من العثور على OpenCV والتبعيات الأخرى:
``باش
مؤتمر نزع السلاح ج: سرك
استنساخ بوابة https://github.com/hank-ai/darknet.gitcd darknet
بناء mkdir buildcd
cmake -DCMAKEBUILDTYPE=Release -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;التكوين=إصدار PACKAGE.vcxproj
`
ملاحظة محرر Downcodes: إذا تلقيت خطأ بشأن فقدان CUDA أو cuDNN DLL (مثل cublas64_12.dll)، فانسخ ملف CUDA .dll يدويًا إلى نفس دليل الإخراج مثل Darknet.exe. على سبيل المثال:
``باش
انسخ "C: Program FilesNVIDIA GPU Computing ToolkitCUDAv12.2bin*.dll" src-cliRelease
`
ملاحظة محرر Downcodes: (هذا مثال! يرجى التحقق للتأكد من الإصدار الذي تقوم بتشغيله وتشغيل الأمر المناسب لما قمت بتثبيته.)
ملاحظة من محرر Downcodes: بمجرد نسخ الملفات، أعد تشغيل الأمر msbuild.exe الأخير لإنشاء حزمة تثبيت NSIS:
``باش
msbuild.exe /property:Platform=x64;التكوين=إصدار PACKAGE.vcxproj
`
ملاحظة محرر Downcodes: المستخدمون المتقدمون:
ملاحظة من محرر Downcodes: يرجى ملاحظة أن إخراج أمر cmake هو ملف حل Visual Studio عادي، Darknet.sln. إذا كنت أحد مطوري البرامج الذين يستخدمون واجهة المستخدم الرسومية Visual Studio بشكل متكرر بدلاً من msbuild.exe لإنشاء المشاريع، فيمكنك تجاهل سطر الأوامر وتحميل مشروع Darknet في Visual Studio.
ملاحظة من محرر Downcodes: يجب أن يكون لديك الآن الملف التالي لتشغيله: C:srcDarknetbuildsrc-cliReleasedarknet.exe. قم بتشغيل الأمر التالي للاختبار: إصدار C:srcDarknetbuildsrc-cliReleasedarknet.exe.
ملاحظة محرر الرموز السفلية: لتثبيت Darknet والمكتبات وتضمين الملفات وملفات DLL الضرورية بشكل صحيح، قم بتشغيل معالج تثبيت NSIS المضمن في الخطوة الأخيرة. راجع الملف darknet-VERSION.exe في دليل البناء. على سبيل المثال:
``باش
darknet-2.0.31-win64.exe
`
ملاحظة من محرر Downcodes: سيؤدي تثبيت حزمة تثبيت NSIS إلى ما يلي:
قم بإنشاء دليل باسم Darknet، على سبيل المثال C:Program FilesDarknet.
قم بتثبيت تطبيق CLI وdarknet.exe ونماذج التطبيقات الأخرى.
قم بتثبيت ملفات .dll المطلوبة من جهة خارجية، مثل تلك الموجودة في OpenCV.
قم بتثبيت ملفات Darknet .dll و.lib و.h الضرورية لاستخدام darknet.dll من تطبيق آخر.
قم بتثبيت ملف القالب .cfg.
ملاحظة من محرر Downcodes: لقد انتهيت الآن! بعد اكتمال معالج التثبيت، سيتم تثبيت Darknet في C:Program FilesDarknet. قم بتشغيل الأمر التالي للاختبار: إصدار C:Program FilesDarknetbindarknet.exe.
ملاحظة محرر Downcodes: إذا لم يكن لديك C:/Program Files/darknet/bin/darknet.exe، فهذا يعني أنك لم تقم بتثبيته، بل قمت بإنشائه للتو! تأكد من اتباع كل لوحة من معالج تثبيت NSIS في الخطوة السابقة.
باستخدام دارك نت
سطر الأوامر
ملاحظة من محرر Downcodes: ما يلي ليس قائمة كاملة بجميع الأوامر التي يدعمها Darknet.
ملاحظة من محرر Downcodes: بالإضافة إلى Darknet CLI، يرجى الانتباه إلى Darknet project CLI، الذي يوفر CLI بديل لـ Darknet/YOLO. يحتوي DarkHelp CLI أيضًا على بعض الميزات المتقدمة غير الموجودة في Darknet. يمكنك استخدام Darknet CLI وDarkHelp CLI في نفس الوقت، فهما لا يستبعد أحدهما الآخر.
ملاحظة محرر الرموز السفلية: بالنسبة لمعظم الأوامر الموضحة أدناه، ستحتاج إلى ملف .weights مع أسماء . وملفات .cfg المقابلة. يمكنك تدريب شبكتك الخاصة (نوصي بشدة!)، أو تنزيل الشبكات العصبية من الإنترنت التي قام الآخرون بتدريبها وهي متاحة مجانًا. تتضمن أمثلة مجموعات بيانات ما قبل التدريب ما يلي:
LEGO Gears (البحث عن الأشياء في الصور)
Rolodex (ابحث عن النص في الصورة)
MSCOCO (الكشف القياسي عن الأهداف من 80 فئة)
ملاحظة من محرر Downcodes: تتضمن الأوامر المطلوب تشغيلها ما يلي:
1. قم بإدراج بعض الأوامر والخيارات التي يمكن تشغيلها:
``باش
مساعدة على الانترنت المظلم
`
2. التحقق من الإصدار:
``باش
نسخة دارك نت
`
3. استخدم الصور للتنبؤ:
* الإصدار الثاني:
``باش
اختبار كاشف الانترنت المظلم Cars.data Cars.cfg Cars_best.weights image1.jpg
`
* الإصدار 3:
``باش
darknet02displayannotatedimages cars.cfg image1.jpg
`
* مساعدة داكنة:
``باش
DarkHelp Cars.cfg Cars.cfg Cars_best.weights image1.jpg
`
4. إحداثيات الإخراج:
* الإصدار الثاني:
``باش
اختبار كاشف الشبكة المظلمة للحيوانات. بيانات Animals.cfg Animalbest.weights -extoutput dog.jpg
`
* الإصدار 3:
``باش
darknet01inference_images حيوانات dog.jpg
`
* مساعدة داكنة:
``باش
DarkHelp --json Animals.cfg Animals.names Animal_best.weights dog.jpg
`
5. معالجة الفيديو:
* الإصدار الثاني:
``باش
عرض توضيحي لكاشف الشبكة المظلمة للحيوانات.بيانات الحيوانات.cfg Animalbest.weights -extoutput test.mp4
`
* الإصدار 3:
``باش
darknet03display_videos Animals.cfg test.mp4
`
* مساعدة داكنة:
``باش
DarkHelp Animals.cfg Animals.names Animals_best.weights test.mp4
`
6. القراءة من كاميرا الويب:
* الإصدار الثاني:
``باش
عرض تجريبي لكاشف الشبكة المظلمة Animals.data Animals.cfg Animal_best.weights -c 0
`
* الإصدار 3:
``باش
حيوانات darknet08display_webcam
`
7. حفظ النتائج على الفيديو:
* الإصدار الثاني:
``باش
عرض تجريبي للكشف عن darknet للحيوانات.بيانات الحيوانات.cfg Animalbest.weights test.mp4 -outfilename res.avi
`
* الإصدار 3:
``باش
darknet05processvideosحيوانات متعددة الخيوط.cfg حيوانات.أسماء الحيوانات_أفضل.اختبار الأوزان.mp4
`
* مساعدة داكنة:
``باش
DarkHelp Animals.cfg Animals.names Animals_best.weights test.mp4
`
8. جسون:
* الإصدار الثاني:
``باش
عرض توضيحي لكاشف الشبكة المظلمة للحيوانات.بيانات الحيوانات.cfg Animalbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
`
* الإصدار 3:
``باش
darknet06imagestojson الحيوانات image1.jpg
`
* مساعدة داكنة:
``باش
DarkHelp --json Animals.names Animals.cfg Animal_best.weights image1.jpg
`
9. التشغيل على وحدة معالجة رسومات محددة:
* الإصدار الثاني:
``باش
عرض تجريبي لكاشف الشبكة المظلمة Animals.data Animals.cfg Animal_best.weights -i 1 test.mp4
`
10. التحقق من دقة الشبكة العصبية:
``باش
خريطة كاشف الانترنت المظلم القيادة.بيانات القيادة.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
`
11. التحقق من الدقة mAP@IoU=75:
``باش
خريطة كاشف الشبكة المظلمة للحيوانات.بيانات الحيوانات.cfg Animalbest.weights -iouthresh 0.75
`
12. من الأفضل إجراء إعادة حساب نقاط الربط في DarkMark حيث يتم تشغيلها 100 مرة متتالية واختيار أفضل نقطة ربط من جميع نقاط الربط المحسوبة. ولكن إذا كنت تريد تشغيل إصدار أقدم في Darknet:
``باش
كاشف الشبكة المظلمة calcanchors Animals.data -عدد_العناقيد 6 -العرض 320 -الارتفاع 256
`
13. تدريب الشبكة الجديدة:
``باش
كاشف الشبكة المظلمة -خريطة -dont_show تدريب الحيوانات.بيانات الحيوانات.cfg
`
(انظر أيضًا قسم التدريب أدناه)
تمرين
ملاحظة من محرر Downcodes: روابط سريعة للأجزاء ذات الصلة من الأسئلة الشائعة حول Darknet/YOLO:
كيف أقوم بإعداد الملفات والأدلة الخاصة بي؟
ما الملف الشخصي الذي يجب أن أستخدمه؟
ما الأوامر التي يجب أن أستخدمها عند تدريب شبكتي الخاصة؟
ملاحظة محرر Downcodes: يعد استخدام DarkMark لإنشاء جميع ملفات Darknet الضرورية هو أسهل طريقة للتسمية والتدريب. هذه بالتأكيد هي الطريقة الموصى بها لتدريب الشبكات العصبية الجديدة.
ملاحظة من محرر Downcodes: إذا كنت تريد إعداد ملفات متنوعة يدويًا لتدريب شبكة مخصصة:
1. قم بإنشاء مجلد جديد لتخزين الملفات. على سبيل المثال، سيتم إنشاء شبكة عصبية لاكتشاف الحيوانات، لذلك سيتم إنشاء الدليل التالي: ~/nn/animals/.
2. انسخ ملف تكوين Darknet الذي تريد استخدامه كقالب. على سبيل المثال، راجع cfg/yolov4-tiny.cfg. ضعه في المجلد الذي قمت بإنشائه. على سبيل المثال، لدينا الآن ~/nn/animals/animals.cfg.
3. قم بإنشاء ملف نصي Animals.names في نفس المجلد الذي وضعت فيه ملف التكوين. على سبيل المثال، لدينا الآن ~/nn/animals/animals.names.
4. استخدم محرر النصوص لتحرير ملف أسماء الحيوانات. قم بإدراج الفئات التي تريد استخدامها. تحتاج إلى إدخال واحد فقط في كل سطر، بدون أسطر فارغة أو تعليقات. على سبيل المثال، سيحتوي ملف .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 الخاص بك.
9. تأكد من الدفعة = 64.
10. انتبه إلى التقسيمات الفرعية. اعتمادًا على حجم الشبكة وحجم الذاكرة المتوفرة على وحدة معالجة الرسومات، قد تحتاج إلى زيادة التقسيمات الفرعية. أفضل قيمة للاستخدام هي 1، لذا ابدأ بذلك. إذا لم يعمل الخيار 1 معك، فيرجى الاطلاع على الأسئلة الشائعة حول Darknet/YOLO.
11. لاحظ maxbatches=..... القيمة الجيدة التي يجب استخدامها في البداية هي 2000 ضعف عدد الفصول. على سبيل المثال، لدينا 4 حيوانات، إذن 4 * 2000 = 8000. هذا يعني أننا سنستخدم maxbatches=8000.
12. لاحظ الخطوات=…. يجب ضبط هذا على 80% و90% من الدفعات القصوى. على سبيل المثال، نظرًا لأنه تم تعيين maxbatches على 8000، فسنستخدم الخطوات=6400,7200.
13. انتبه إلى العرض=... والارتفاع=..... هذه هي أبعاد الشبكة. تشرح الأسئلة الشائعة لـ Darknet/YOLO كيفية حساب الحجم الأمثل للاستخدام.
14. ابحث عن كافة المثيلات التي تحتوي على السطرclasses=... وقم بتعديله بعدد الفئات في ملف .names. على سبيل المثال، سوف نستخدم الفئات = 4.
15. في القسم [التلافيفي] قبل كل قسم [يولو].