التخلص من السموم: إطار عمل اختباري شامل لتطبيقات الهاتف المحمول
Detox هو إطار عمل اختباري مفتوح المصدر وشامل مصمم خصيصًا لتطبيقات React Native. فهو يوفر حلاً قويًا وموثوقًا لأتمتة اختبار تطبيقات الهاتف المحمول، مما يضمن تجارب مستخدم عالية الجودة.
كيف يبدو اختبار التخلص من السموم؟
`جافا سكريبت
وصف ("تدفق تسجيل الدخول"، () => {
قبل كل (غير متزامن () => {
في انتظار الجهاز.reloadReactNative();
});
it("يجب تسجيل الدخول بنجاح"، غير متزامن () => {
انتظر العنصر(by.id('email')).typeText('[email protected]');
انتظار العنصر(by.id('password')).typeText('123456');
const loginButton = element(by.text('Login'));
في انتظار تسجيل الدخولButton.tap();
انتظر توقع (loginButton).not.toExist ()؛
في انتظار توقع(element(by.label('Welcome'))).toBeVisible();
});
});
`
يوضح مقتطف الكود هذا اختبارًا بسيطًا للتخلص من السموم لشاشة تسجيل الدخول. يتفاعل الاختبار مع التطبيق على جهاز حقيقي أو جهاز محاكاة، ويحاكي تصرفات المستخدم الحقيقي.
ابدأ مع التخلص من السموم الآن!
حول التخلص من السموم
يعمل برنامج Detox على تمكين فرق التطوير المتنقلة من تحقيق سرعة عالية من خلال تبني سير عمل التكامل المستمر. إنه يلغي الحاجة إلى اختبار ضمان الجودة اليدوي الشامل من خلال توفير حل قوي لأتمتة الاختبار الشامل.
الميزات الرئيسية:
1. التفاعل الحقيقي بين الجهاز/المحاكي: يقوم Detox باختبار تطبيق الهاتف المحمول الخاص بك أثناء تشغيله على جهاز حقيقي أو جهاز محاكاة، ويتفاعل معه تمامًا مثل المستخدم الحقيقي.
2. اختبار الصندوق الرمادي: يتبنى برنامج التخلص من السموم منهج اختبار الصندوق الرمادي، مما يوفر بيئة اختبار أكثر قوة وموثوقية من اختبار الصندوق الأسود التقليدي.
3. تخفيف التقشر: من خلال التحول إلى اختبار الصندوق الرمادي، يعالج برنامج التخلص من السموم بشكل مباشر التقشر المتأصل الذي غالبًا ما يرتبط بالاختبارات الشاملة.
إصدارات React الأصلية المدعومة
يوفر Detox الدعم الرسمي لإصدارات React Native 0.71.x و0.72.x و0.73.x بدون "البنية الجديدة" الخاصة بـ React Native. في حين أن الإصدارات الأحدث و"البنية الجديدة" قد تعمل مع التخلص من السموم، إلا أنه لم يتم اختبارها بشكل كامل من قبل فريق التخلص من السموم.
على الرغم من أن Detox لا يدعم رسميًا إصدارات React Native الأقدم، إلا أن الفريق يسعى جاهدًا للحفاظ على التوافق. إذا واجهت أي مشكلات مع إصدار غير مدعوم، فيرجى فتح مشكلة أو التواصل مع خادم Detox Discord للحصول على المساعدة.
المشكلات المعروفة في React Native
يقوم Detox بمراقبة ومعالجة أي مشكلات معروفة قد تنشأ مع React Native بشكل مستمر. يمكنك العثور على معلومات مفصلة حول هذه المشكلات وحلولها في وثائق التخلص من السموم الرسمية.
ابدأ مع التخلص من السموم
لبدء استخدام Detox لتطبيق React Native، اتبع دليل البدء الشامل الموجود على موقع Detox الإلكتروني. سيرشدك هذا الدليل خلال عملية الإعداد، مما يضمن تشغيل برنامج التخلص من السموم في غضون دقائق.
موقع الوثائق
استكشف وثائق التخلص من السموم الكاملة، بما في ذلك الأدلة المتعمقة، ومراجع واجهة برمجة التطبيقات، ونصائح استكشاف الأخطاء وإصلاحها، على موقع التخلص من السموم الرسمي.
المبادئ الأساسية للتخلص من السموم
يتحدى التخلص من السموم مبادئ الاختبار التقليدية الشاملة، ويعتمد منظورًا جديدًا لمعالجة الصعوبات الكامنة في الاختبار المحمول. تعرف على هذه المبادئ الفريدة على موقع التخلص من السموم.
المساهمة في التخلص من السموم
التخلص من السموم هو مشروع مفتوح المصدر، ومساهماتك ذات قيمة عالية. استكشف المشكلات التي تحمل علامة "المساعدة المطلوبة" في مستودع التخلص من السموم للعثور على المجالات التي يمكن لمهاراتك أن تحدث فيها فرقًا.
إذا واجهت خطأ ما أو كان لديك اقتراح ميزة جديدة، فافتح مشكلة في مستودع التخلص من السموم. للتعمق في جوهر التخلص من السموم والمساهمة في تطويره، راجع دليل المساهمة في التخلص من السموم.
رخصة
يتم إصدار Detox بموجب ترخيص Apache-2.0.
إطار عمل Darknet للكشف عن الكائنات وYOLO
تقدم لك لعبة Downcodes استكشافًا ثاقبًا لإطار عمل Darknet القوي للكشف عن الكائنات وخوارزمية YOLO (أنت تنظر مرة واحدة فقط) المشهورة. يتعمق هذا الدليل الشامل في الجوانب الرئيسية لهذا النظام المعتمد على نطاق واسع، مما يمكّنك من تسخير قدراته في مهام الكشف عن الكائنات المختلفة.
لنبدأ!
داركنت: الإطار
Darknet هو إطار عمل للشبكة العصبية مفتوح المصدر مكتوب بلغات C وC++ وCUDA. إنه يوفر أداءً عاليًا ومرونة، مما يجعله خيارًا شائعًا للباحثين والمطورين الذين يعملون في اكتشاف الكائنات ومهام رؤية الكمبيوتر الأخرى.
يولو: الخوارزمية
YOLO (أنت تنظر مرة واحدة فقط) هي خوارزمية للكشف عن الكائنات في الوقت الفعلي والتي تعمل ضمن إطار عمل Darknet. ويتيح أسلوبها المبتكر معالجة الصور في مسار واحد، مما يتيح اكتشاف الكائنات بسرعة ودقة.
دعم Hank.ai لـ Darknet/YOLO
تلعب Hank.ai، وهي شركة رائدة في مجال الذكاء الاصطناعي، دورًا مهمًا في دعم مجتمع Darknet/YOLO، مما يضمن استمرار تطويره وإمكانية الوصول إليه.
الإعلان عن Darknet V3 "الجاز"
أحدث إصدار من Darknet، الإصدار 3.x، المسمى على نحو ملائم "Jazz"، يقدم مجموعة من التحسينات والتحسينات، بما في ذلك:
أداء محسّن: يتميز Darknet V3 بمكاسب أداء مذهلة، مما يسمح له بمعالجة الصور ومقاطع الفيديو بمعدل أسرع.
واجهة برمجة التطبيقات الجديدة: يؤدي تقديم واجهة برمجة تطبيقات C وC++ الجديدة إلى تبسيط عملية دمج Darknet في تطبيقاتك.
أمثلة موسعة: يؤدي تضمين نموذج التعليمات البرمجية والتطبيقات الجديدة في دليل أمثلة src إلى توفير المزيد من فرص التعلم العملي.
موارد داركنت/يولو
الموقع الرسمي: https://darknetcv.ai
الأسئلة الشائعة: ابحث عن إجابات للأسئلة الشائعة وتعرف على المزيد حول Darknet/YOLO.
Discord Server: انضم إلى مجتمع Darknet/YOLO النشط على Discord للمناقشات والدعم والتعاون.
أوراق
YOLOv7: https://arxiv.org/abs/2207.02662
تحجيم-YOLOv4: https://arxiv.org/abs/2102.05909
YOLOv4: https://arxiv.org/abs/2004.10934
YOLOv3: https://pjreddie.com/media/files/papers/YOLOv3.pdf
معلومات عامة
السرعة والدقة: يتفوق Darknet/YOLO باستمرار على أطر الكشف عن الكائنات الأخرى من حيث السرعة والدقة.
مفتوح المصدر: إطار العمل والخوارزميات المرتبطة به مفتوح المصدر تمامًا، مما يسمح بالاستخدام والتخصيص مجانًا.
دعم عبر الأنظمة الأساسية: يعمل Darknet/YOLO بسلاسة على منصات مختلفة، بما في ذلك Linux وWindows وmacOS.
نسخة دارك نت
لقد خضع مشروع Darknet لتكرارات متعددة، حيث يقدم كل إصدار ميزات وتحسينات جديدة.
الإصدار 0.x: أداة Darknet الأصلية التي طورها جوزيف ريدمون.
الإصدار 1.x: تتم صيانته بواسطة Alexey Bochkovskiy.
الإصدار 2.x "OAK": برعاية Hank.ai ويديره ستيفان شاريت.
الإصدار 3.x "JAZZ": الإصدار الأحدث، يقدم واجهة برمجة تطبيقات شاملة وتحسينات في الأداء.
أوزان MSCOCO المدربة مسبقًا
للبدء بسرعة، تقدم Darknet/YOLO أوزانًا مدربة مسبقًا لإصدارات YOLO المختلفة المدربة على مجموعة بيانات MSCOCO الشهيرة، والتي تتضمن 80 فئة كائنات شائعة.
الأوزان المدربة مسبقا ل:
1.YOLOv2
2.YOLOv3
3.YOLOv4
4.YOLov7
هذه الأوزان المدربة مسبقًا متاحة للتنزيل على مستودع Darknet.
مثال للاستخدام:
``باش
تنزيل الأوزان المدربة مسبقًا (YOLOv4-tiny)
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
`
بناء داركنت
يتطلب Darknet الإصدار 17 من لغة C++ أو الإصدار الأحدث، OpenCV، ويستخدم CMake للبناء.
خيارات البناء:
1. Google Colab: استخدم نفس التعليمات المستخدمة في Linux.
2. طريقة Linux CMake:
* المتطلبات الأساسية:
* build-essential، git، libopencv-dev، cmake (التثبيت باستخدام مدير حزم التوزيع الخاص بك)
* CUDA (اختياري): لتسريع GPU. قم بالتنزيل والتثبيت من https://developer.nvidia.com/cuda-downloads.
* cuDNN (اختياري): قم بالتنزيل والتثبيت من https://developer.nvidia.com/rdp/cudnn-download أو https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn- نظرة عامة على تثبيت مدير الحزم.
* خطوات البناء:
``باش
mkdir ~/srccd ~/src
استنساخ بوابة https://github.com/hank-ai/darknet
مؤتمر نزع السلاح داركنت
بناء مكدير
بناء القرص المضغوط
cmake -DCMAKEBUILDTYPE=إطلاق ..
حزمة make -j4
sudo dpkg -i darknet-VERSION.deb
`
3. طريقة Windows CMake:
* المتطلبات الأساسية:
* مجتمع Git وCMake وNSIS وVisual Studio 2022: التثبيت باستخدام Winget.
* Microsoft VCPKG: التثبيت لإنشاء OpenCV.
* خطوات البناء:
``باش
مؤتمر نزع السلاح ج:
مكدير ج:src
مؤتمر نزع السلاح ج: سرك
استنساخ بوابة https://github.com/microsoft/vcpkg
cd vcpkg
bootstrap-vcpkg.bat
.vcpkg.exe دمج التثبيت
.vcpkg.exe يدمج بوويرشيل
.vcpkg.exe تثبيت opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
قرص مضغوط ..
استنساخ بوابة https://github.com/hank-ai/darknet.git
مؤتمر نزع السلاح داركنت
بناء مكدير
بناء القرص المضغوط
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
`
باستخدام دارك نت
CLI: يوفر Darknet واجهة سطر أوامر لمختلف المهام، بما في ذلك:
* اكتشاف الكائنات: اكتشاف الكائنات في الصور ومقاطع الفيديو.
* التدريب: تدريب نماذج الكشف عن الكائنات المخصصة.
* تقييم الأداء: قياس دقة النماذج الخاصة بك.
DarkHelp: DarkHelp عبارة عن واجهة سطر أوامر بديلة وقوية مع ميزات إضافية مثل تتبع الكائنات والتبليط.
أمثلة لأوامر CLI:
``باش
تحقق من إصدار Darknet
نسخة دارك نت
تشغيل الكشف عن الكائنات على الصورة
اختبار كاشف الانترنت المظلم cars.data Cars.cfg Cars_best.weights image1.jpg
تدريب شبكة جديدة
كاشف الشبكة المظلمة -خريطة -dont_show تدريب الحيوانات.بيانات الحيوانات.cfg
`
تمرين
DarkMark: أداة لإضافة تعليقات توضيحية إلى الصور وإنشاء بيانات التدريب وإدارة مشاريع Darknet/YOLO الخاصة بك.
الإعداد اليدوي: لمزيد من التحكم، يمكنك إنشاء الملفات اللازمة للتدريب يدويًا، بما في ذلك:
* ملف التكوين (.cfg): يحدد بنية الشبكة والمعلمات الفائقة.
* ملف الأسماء (.names): يسرد فئات الكائنات التي تريد اكتشافها.
* ملف البيانات (.data): يحدد مجموعات بيانات التدريب والتحقق من الصحة.
* ملفات التعليقات التوضيحية (.txt): تحتوي على إحداثيات المربع المحيط لصور التدريب الخاصة بك.
خطوات التدريب اليدوي:
1. إعداد بيانات التدريب: قم بإضافة تعليقات توضيحية إلى صورك باستخدام DarkMark أو أداة تعليقات توضيحية أخرى.
2. إنشاء ملف تكوين: انسخ ملف تكوين موجود (على سبيل المثال، yolov4-tiny.cfg) وقم بتعديله لمجموعة البيانات المحددة الخاصة بك.
3. إنشاء ملف أسماء: قم بإدراج فئات الكائنات الخاصة بك في ملف نصي.
4. إنشاء ملف بيانات: حدد المسارات إلى مجموعات بيانات التدريب والتحقق من الصحة.
5. تدريب النموذج:
``باش
كاشف الشبكة المظلمة -خريطة -dont_show تدريب الحيوانات.بيانات الحيوانات.cfg
`
أدوات وروابط أخرى
DarkHelp: https://github.com/hank-ai/darkhelp
الأسئلة الشائعة حول Darknet/YOLO: https://darknetcv.ai/faq
قناة ستيفان على اليوتيوب: https://www.youtube.com/channel/UC3c1x727824J8oV8YfH57A
Darknet/YOLO Discord Server: https://discord.gg/zSq8rtW
خريطة الطريق
الأهداف قصيرة المدى:
تحسين تحليل سطر الأوامر لتجربة مستخدم أفضل.
تحسين التعليمات البرمجية لتحسين الأداء.
تعزيز اتساق التعليمات البرمجية وسهولة القراءة.
الأهداف المتوسطة المدى:
استبدل char بـ std::string لتعزيز أمان التعليمات البرمجية.
تحسين استخدام السيرة الذاتية::Mat لمعالجة الصور بكفاءة.
توسيع الدعم لتنسيقات الصور والقنوات.
الأهداف طويلة المدى:
أضف دعمًا لوحدات معالجة الرسومات غير التابعة لـ NVIDIA.
تقديم الصناديق المحيطة المدورة ودعم الزوايا.
قم بتنفيذ نقاط المفاتيح/الهياكل العظمية والخرائط الحرارية لاكتشاف الكائنات الأكثر تعقيدًا.
استكشاف قدرات التجزئة.
خاتمة
أحدثت Darknet وYOLO ثورة في مجال اكتشاف الكائنات، حيث تقدمان إطارًا قويًا ومرنًا للباحثين والمطورين والمتحمسين على حدٍ سواء. من خلال تبني طبيعتها مفتوحة المصدر، واستكشاف الموارد المتاحة، والمشاركة في المجتمع النشط، يمكنك الاستفادة من Darknet/YOLO لمجموعة واسعة من التطبيقات المبتكرة.
تأمل Downcodes أن يكون هذا الدليل الشامل قد زودك بفهم قوي لـ Darknet وYOLO، مما يتيح لك البدء في رحلتك لاكتشاف الكائنات بثقة!