Link to this sectionإضافة Ultralytics لـ VS Code#
Watch: How to use Ultralytics Visual Studio Code Extension | Ready-to-Use Code Snippets | Ultralytics YOLO 🎉
Link to this sectionالميزات والفوائد#
✅ هل أنت عالم بيانات أو مهندس تعلم آلي تبني تطبيقات رؤية حاسوبية باستخدام Ultralytics؟
✅ هل تكره كتابة نفس كتل التعليمات البرمجية بشكل متكرر؟
✅ هل تنسى دائمًا الوسائط أو القيم الافتراضية لطرق التصدير أو التنبؤ أو التدريب أو التتبع أو التحقق؟
✅ هل تتطلع للبدء مع Ultralytics وتتمنى لو كانت لديك طريقة أسهل للرجوع إلى أمثلة التعليمات البرمجية أو تشغيلها؟
✅ هل ترغب في تسريع دورة التطوير الخاصة بك عند العمل مع Ultralytics؟
إذا كنت تستخدم Visual Studio Code وأجبت بـ "نعم" على أي مما سبق، فإن إضافة Ultralytics-snippets لـ VS Code هنا للمساعدة! تابع القراءة لمعرفة المزيد حول الإضافة وكيفية تثبيتها واستخدامها.
Run example code using Ultralytics YOLO in under 20 seconds! 🚀
Link to this sectionمستوحاة من مجتمع Ultralytics#
جاء الإلهام لبناء هذه الإضافة من مجتمع Ultralytics. فقد غذت الأسئلة الواردة من المجتمع حول مواضيع وأمثلة مماثلة تطوير هذا المشروع. بالإضافة إلى ذلك، يستخدم العديد من أعضاء فريق Ultralytics برنامج VS Code لتسريع عملهم الخاص ⚡.
Link to this sectionلماذا VS Code؟#
يعد Visual Studio Code شائعًا للغاية بين المطورين في جميع أنحاء العالم، وقد صُنف كالأكثر شعبية وفقًا لاستطلاع مطوري Stack Overflow في أعوام 2021 و2022 و2023 و2024. نظرًا للمستوى العالي من التخصيص والميزات المدمجة والتوافق الواسع وقابلية التوسيع في VS Code، ليس من المستغرب أن يستخدمه هذا العدد الكبير من المطورين. وبالنظر إلى شعبيته في مجتمع المطورين الأوسع وداخل مجتمعات Discord وDiscourse وReddit وGitHub الخاصة بـ Ultralytics، كان من المنطقي بناء إضافة لـ VS Code للمساعدة في تبسيط سير عملك وتعزيز إنتاجيتك.
هل ترغب في إخبارنا بما تستخدمه لتطوير التعليمات البرمجية؟ توجه إلى استطلاع المجتمع الخاص بنا على Discourse وأخبرنا بذلك! وبينما أنت هناك، ربما يمكنك الاطلاع على بعض المفضلات لدينا من الميمز (memes) حول الرؤية الحاسوبية والتعلم الآلي والذكاء الاصطناعي والمطورين، أو حتى نشر الميم المفضل لديك!
Link to this sectionتثبيت الإضافة#
أي بيئة تعليمات برمجية تسمح بتثبيت إضافات VS Code يجب أن تكون متوافقة مع إضافة Ultralytics-snippets. بعد نشر الإضافة، تم اكتشاف أنه يمكن جعل neovim متوافقًا مع إضافات VS Code. لمعرفة المزيد، راجع قسم التثبيت الخاص بـ neovim في ملف Readme في مستودع Ultralytics-Snippets.
Link to this sectionالتثبيت في VS Code#
-
انتقل إلى قائمة الإضافات في VS Code أو استخدم الاختصار Ctrl+Shift ⇑+x، وابحث عن Ultralytics-snippets.
-
انقر فوق زر Install.
Link to this sectionالتثبيت من سوق إضافات VS Code#
-
قم بزيارة سوق إضافات VS Code وابحث عن Ultralytics-snippets أو انتقل مباشرة إلى صفحة الإضافة في سوق VS Code.
-
انقر فوق زر Install واسمح لمتصفحك بتشغيل جلسة VS Code.
-
اتبع أي مطالبات لتثبيت الإضافة.
Visual Studio Code Extension Marketplace page for Ultralytics-Snippets
Link to this sectionاستخدام إضافة Ultralytics-Snippets#
-
🧠 إكمال ذكي للتعليمات البرمجية: اكتب التعليمات البرمجية بشكل أسرع وأكثر دقة مع اقتراحات إكمال ذكية مصممة خصيصًا لواجهة برمجة تطبيقات Ultralytics.
-
⌛ زيادة سرعة التطوير: وفر الوقت من خلال التخلص من مهام الترميز المتكررة والاستفادة من مقتطفات كتل التعليمات البرمجية الجاهزة.
-
🔬 جودة محسنة للتعليمات البرمجية: اكتب تعليمات برمجية أنظف وأكثر اتساقًا وخالية من الأخطاء مع الإكمال الذكي للتعليمات البرمجية.
-
💎 سير عمل مبسط: ابقَ مركزًا على المنطق الأساسي لمشروعك من خلال أتمتة المهام الشائعة.
Link to this sectionنظرة عامة#
ستعمل الإضافة فقط عندما يتم ضبط وضع اللغة على Python 🐍. وذلك لتجنب إدراج المقتطفات عند العمل على أي نوع ملف آخر. جميع المقتطفات لها بادئة تبدأ بـ ultra، ومجرد كتابة ultra في المحرر الخاص بك بعد تثبيت الإضافة، سيتم عرض قائمة بالمقتطفات المحتملة للاستخدام. يمكنك أيضًا فتح لوحة الأوامر في VS Code باستخدام Ctrl+Shift ⇑+p وتشغيل الأمر Snippets: Insert Snippet.
Link to this sectionحقول مقتطفات التعليمات البرمجية#
تحتوي العديد من المقتطفات على "حقول" ذات قيم أو أسماء نائبة افتراضية. على سبيل المثال، يمكن حفظ مخرجات طريقة التنبؤ في متغير Python باسم r أو results أو detections أو preds أو أي شيء آخر يختاره المطور، ولهذا السبب تتضمن المقتطفات "حقولًا". باستخدام Tab ⇥ على لوحة المفاتيح بعد إدراج مقتطف، سيتحرك مؤشرك بين الحقول بسرعة. بمجرد تحديد حقل، سيؤدي كتابة اسم متغير جديد إلى تغيير هذا المثال، وكذلك كل مثال آخر في كود المقتطف لهذا المتغير!
After inserting snippet, renaming model as world_model updates all instances. Pressing Tab ⇥ moves to the next field, which opens a dropdown menu and allows for selection of a model scale, and moving to the next field provides another dropdown to choose either world or worldv2 model variant.
Link to this sectionإكمال مقتطفات التعليمات البرمجية#
ليس من الضروري كتابة البادئة الكاملة للمقتطف، أو حتى البدء في الكتابة من بداية المقتطف. انظر المثال في الصورة أدناه.
تمت تسمية المقتطفات بالطريقة الأكثر وصفية ممكنة، ولكن هذا يعني أنه قد يكون هناك الكثير لتكتبه، وسيكون ذلك غير مثمر إذا كان الهدف هو التحرك بسرعة أكبر. لحسن الحظ، يسمح VS Code للمستخدمين بكتابة ultra.example-yolo-predict أو example-yolo-predict أو yolo-predict أو حتى ex-yolo-p والوصول إلى خيار المقتطف المقصود! إذا كان المقتطف المقصود هو في الواقع ultra.example-yolo-predict-kwords، فما عليك سوى استخدام أسهم لوحة المفاتيح ↑ أو ↓ لتمييز المقتطف المطلوب والضغط على Enter ↵ أو Tab ⇥ لإدراج كتلة التعليمات البرمجية الصحيحة.
Typing ex-yolo-p will still arrive at the correct snippet.
Link to this sectionفئات المقتطفات#
هذه هي فئات المقتطفات الحالية المتاحة لإضافة Ultralytics-snippets. سيتم إضافة المزيد في المستقبل، لذا تأكد من التحقق من التحديثات وتمكين التحديثات التلقائية للإضافة. يمكنك أيضًا طلب مقتطفات إضافية ليتم إضافتها إذا كنت تشعر بوجود أي نقص.
| الفئة | البادئة الأولية | الوصف |
|---|---|---|
| أمثلة | ultra.examples | مثال على التعليمات البرمجية للمساعدة في التعلم أو للبدء مع Ultralytics. الأمثلة هي نسخ من أو مشابهة للتعليمات البرمجية الموجودة في صفحات التوثيق. |
| Kwargs | ultra.kwargs | سرّع التطوير عن طريق إضافة مقتطفات لطرق التدريب والتتبع والتنبؤ والتحقق مع جميع وسائط الكلمات الأساسية والقيم الافتراضية. |
| الواردات (Imports) | ultra.imports | مقتطفات لاستيراد كائنات Ultralytics الشائعة بسرعة. |
| النماذج (Models) | ultra.yolo | أدرج كتل تعليمات برمجية لتهيئة نماذج مختلفة (yolo، sam، rtdetr، إلخ)، بما في ذلك خيارات التكوين المنسدلة. |
| النتائج | ultra.result | كتل تعليمات برمجية للعمليات الشائعة عند العمل مع نتائج الاستدلال. |
| الأدوات المساعدة | ultra.util | يوفر وصولاً سريعًا إلى الأدوات المساعدة الشائعة المدمجة في حزمة Ultralytics، تعرف على المزيد حول هذه الأدوات في صفحة الأدوات المساعدة البسيطة. |
Link to this sectionالتعلم بالأمثلة#
تعتبر مقتطفات ultra.examples مفيدة جدًا لأي شخص يتطلع لتعلم كيفية البدء بأساسيات العمل مع Ultralytics YOLO. تهدف مقتطفات الأمثلة إلى التشغيل بمجرد إدراجها (بعضها يحتوي على خيارات منسدلة أيضًا). يظهر مثال على ذلك في الرسوم المتحركة في أعلى هذه الصفحة، حيث يتم بعد إدراج المقتطف، تحديد كل التعليمات البرمجية وتشغيلها بشكل تفاعلي باستخدام Shift ⇑+Enter ↵.
تمامًا كما تظهر الرسوم المتحركة في أعلى هذه الصفحة، يمكنك استخدام المقتطف ultra.example-yolo-predict لإدراج مثال التعليمات البرمجية التالي. بمجرد إدراجه، يكون الخيار الوحيد القابل للتكوين هو مقياس النموذج الذي يمكن أن يكون أيًا من: n أو s أو m أو l أو x.
from ultralytics import ASSETS, YOLO
model = YOLO("yolo26n.pt", task="detect")
results = model(source=ASSETS / "bus.jpg")
for result in results:
print(result.boxes.data)
# result.show() # uncomment to view each result imageLink to this sectionتسريع التطوير#
الهدف من المقتطفات بخلاف ultra.examples هو جعل التطوير أسهل وأسرع عند العمل مع Ultralytics. من كتل التعليمات البرمجية الشائعة التي تُستخدم في العديد من المشاريع هي تكرار قائمة Results التي يتم إرجاعها من استخدام طريقة التنبؤ الخاصة بالنموذج. يمكن أن يساعد مقتطف ultra.result-loop في هذا.
سيؤدي استخدام ultra.result-loop إلى إدراج التعليمات البرمجية الافتراضية التالية (بما في ذلك التعليقات).
# reference https://docs.ultralytics.com/modes/predict/#working-with-results
for result in results:
result.boxes.data # torch.Tensor arrayومع ذلك، نظرًا لأن Ultralytics يدعم العديد من المهام، عند العمل مع نتائج الاستدلال هناك سمات Results أخرى قد ترغب في الوصول إليها، وهو المكان الذي ستكون فيه حقول المقتطفات قوية.
Once tabbed to the boxes field, a dropdown menu appears to allow selection of another attribute as required.
Link to this sectionوسائط الكلمات الأساسية (Keywords Arguments)#
هناك أكثر من 💯 وسيط كلمات أساسية لجميع مهام وأوضاع Ultralytics المختلفة! هذا كثير يجب تذكره، وقد يكون من السهل نسيان ما إذا كان الوسيط هو save_frame أو save_frames (بالمناسبة، هو بالتأكيد save_frames). هذا هو المكان الذي يمكن أن تساعد فيه مقتطفات ultra.kwargs!
لإدراج طريقة التنبؤ، بما في ذلك جميع وسائط الاستدلال، استخدم ultra.kwargs-predict، والذي سيقوم بإدراج التعليمات البرمجية التالية (بما في ذلك التعليقات).
model.predict(
source=src, # (str, optional) source directory for images or videos
imgsz=640, # (int | list) input images size as int or list[h,w] for predict
conf=0.25, # (float) minimum confidence threshold
iou=0.7, # (float) intersection over union (IoU) threshold for NMS
vid_stride=1, # (int) video frame-rate stride
stream_buffer=False, # (bool) buffer incoming frames in a queue (True) or only keep the most recent frame (False)
visualize=False, # (bool) visualize model features
augment=False, # (bool) apply image augmentation to prediction sources
agnostic_nms=False, # (bool) class-agnostic NMS
classes=None, # (int | list[int], optional) filter results by class, i.e. classes=0, or classes=[0,2,3]
retina_masks=False, # (bool) use high-resolution segmentation masks
embed=None, # (list[int], optional) return feature vectors/embeddings from given layers
show=False, # (bool) show predicted images and videos if environment allows
save=True, # (bool) save prediction results
save_frames=False, # (bool) save predicted individual video frames
save_txt=False, # (bool) save results as .txt file
save_conf=False, # (bool) save results with confidence scores
save_crop=False, # (bool) save cropped images with results
stream=False, # (bool) for processing long videos or numerous images with reduced memory usage by returning a generator
verbose=True, # (bool) enable/disable verbose inference logging in the terminal
)يحتوي هذا المقتطف على حقول لجميع وسائط الكلمات الأساسية، وأيضًا لـ model وsrc في حال كنت قد استخدمت متغيرًا مختلفًا في تعليماتك البرمجية. على كل سطر يحتوي على وسيط كلمة أساسية، يتم تضمين وصف موجز للرجوع إليه.
Link to this sectionجميع مقتطفات التعليمات البرمجية#
أفضل طريقة لمعرفة المقتطفات المتاحة هي تنزيل وتثبيت الإضافة وتجربتها! إذا كنت فضوليًا وترغب في إلقاء نظرة على القائمة مسبقًا، يمكنك زيارة المستودع أو صفحة الإضافة في سوق VS Code لعرض الجداول لجميع المقتطفات المتاحة.
Link to this sectionالخلاصة#
تم تصميم إضافة Ultralytics-Snippets لـ VS Code لتمكين علماء البيانات ومهندسي التعلم الآلي من بناء تطبيقات رؤية حاسوبية باستخدام Ultralytics YOLO بشكل أكثر كفاءة. من خلال توفير مقتطفات تعليمات برمجية جاهزة وأمثلة مفيدة، نحن نساعدك على التركيز على ما يهم أكثر: إنشاء حلول مبتكرة. يرجى مشاركة ملاحظاتك من خلال زيارة صفحة الإضافة في سوق VS Code وترك مراجعة. ⭐
Link to this sectionالأسئلة الشائعة#
Link to this sectionكيف أطلب مقتطفًا جديدًا؟#
يمكن طلب مقتطفات جديدة باستخدام المشكلات (Issues) في مستودع Ultralytics-Snippets.
Link to this sectionكم تكلفة إضافة Ultralytics؟#
إنها مجانية 100%!
Link to this sectionلماذا لا أرى معاينة لمقتطف التعليمات البرمجية؟#
يستخدم VS Code مزيج المفاتيح Ctrl+Space لإظهار/إخفاء المزيد من المعلومات في نافذة المعاينة. إذا كنت لا ترى معاينة مقتطف عند كتابة بادئة مقتطف تعليمات برمجية، فإن استخدام مزيج المفاتيح هذا يجب أن يستعيد المعاينة.
Link to this sectionكيف أقوم بتعطيل توصية الإضافة في Ultralytics؟#
إذا كنت تستخدم VS Code وبدأت في رؤية رسالة تحثك على تثبيت إضافة Ultralytics-snippets، ولا ترغب في رؤية الرسالة بعد الآن، فهناك طريقتان لتعطيل هذه الرسالة.
-
ثبّت Ultralytics-snippets ولن يتم عرض الرسالة بعد الآن 😆!
-
يمكنك استخدام
yolo settings vscode_msg=Falseلتعطيل عرض الرسالة دون الحاجة إلى تثبيت الإضافة. يمكنك معرفة المزيد حول إعدادات Ultralytics في صفحة التشغيل السريع إذا كنت غير معتاد عليها.
Link to this sectionلدي فكرة لمقتطف تعليمات برمجية جديد لـ Ultralytics، كيف يمكنني إضافته؟#
تفضل بزيارة مستودع Ultralytics-snippets وافتح مشكلة (Issue) أو طلب سحب (Pull Request)!
Link to this sectionكيف أقوم بإلغاء تثبيت إضافة Ultralytics-Snippets؟#
مثل أي إضافة أخرى لـ VS Code، يمكنك إلغاء تثبيتها بالانتقال إلى قائمة الإضافات في VS Code. ابحث عن إضافة Ultralytics-snippets في القائمة وانقر فوق أيقونة الترس (⚙) ثم انقر فوق "إلغاء التثبيت" لإزالة الإضافة.