Meet YOLO26: next-gen vision AI.

Link to this sectionدليل البدء السريع لـ Modal مع Ultralytics#

يوفر هذا الدليل مقدمة شاملة لتشغيل Ultralytics YOLO26 على منصة Modal، ويغطي الاستدلال باستخدام GPU بدون خادم (serverless) وتدريب النماذج.

Link to this sectionما هي Modal؟#

Modal هي منصة حوسبة سحابية بدون خادم لأعباء عمل الذكاء الاصطناعي وتعلم الآلة. تتولى المنصة مهام التوفير، والتحجيم، والتنفيذ تلقائياً — حيث تكتب كود Python محلياً وتقوم Modal بتشغيله في السحابة مع الوصول إلى GPU. وهذا يجعلها مثالية لتشغيل نماذج التعلم العميق مثل YOLO26 دون الحاجة إلى إدارة البنية التحتية.

Link to this sectionما ستتعلمه#

  • إعداد Modal والمصادقة
  • تشغيل استدلال YOLO26 على Modal
  • استخدام GPUs لتسريع الاستدلال
  • تدريب نماذج YOLO26 على Modal

Link to this sectionالمتطلبات الأساسية#

  • حساب Modal (سجل مجاناً على modal.com)
  • تثبيت Python 3.9 أو إصدار أحدث على جهازك المحلي

Link to this sectionالتثبيت#

ثبّت حزمة Python الخاصة بـ Modal وقم بالمصادقة:

pip install modal
modal token new
المصادقة

سيؤدي أمر modal token new إلى فتح نافذة متصفح للمصادقة على حساب Modal الخاص بك. بعد المصادقة، يمكنك تشغيل أوامر Modal من الجهاز الطرفي (terminal).

Link to this sectionتشغيل استدلال YOLO26#

أنشئ ملف Python جديداً باسم modal_yolo.py مع الكود التالي:

"""
Modal + Ultralytics YOLO26 Quickstart
Run: modal run modal_yolo.py.
"""

import modal

app = modal.App("ultralytics-yolo")

image = modal.Image.debian_slim(python_version="3.11").apt_install("libgl1", "libglib2.0-0").pip_install("ultralytics")

@app.function(image=image)
def predict(image_url: str):
    """Run YOLO26 inference on an image URL."""
    from ultralytics import YOLO

    model = YOLO("yolo26n.pt")
    results = model(image_url)

    for r in results:
        print(f"Detected {len(r.boxes)} objects:")
        for box in r.boxes:
            print(f"  - {model.names[int(box.cls)]}: {float(box.conf):.2f}")

@app.local_entrypoint()
def main():
    """Test inference with sample image."""
    predict.remote("https://ultralytics.com/images/bus.jpg")

تشغيل الاستدلال:

modal run modal_yolo.py

المخرجات المتوقعة:

✓ Initialized. View run at https://modal.com/apps/your-username/main/ap-xxxxxxxx
✓ Created objects.
├── 🔨 Created mount modal_yolo.py
└── 🔨 Created function predict.
Downloading https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n.pt to 'yolo26n.pt'...
Downloading https://ultralytics.com/images/bus.jpg to 'bus.jpg'...
image 1/1 /root/bus.jpg: 640x480 4 persons, 1 bus, 377.8ms
Speed: 5.8ms preprocess, 377.8ms inference, 0.3ms postprocess per image at shape (1, 3, 640, 480)

Detected 5 objects:
  - bus: 0.92
  - person: 0.91
  - person: 0.91
  - person: 0.87
  - person: 0.53
✓ App completed.

يمكنك مراقبة تنفيذ وظيفتك في لوحة تحكم Modal:

Modal Dashboard Function Calls

Link to this sectionاستخدام GPU لتسريع الاستدلال#

أضف GPU إلى وظيفتك عن طريق تحديد المعامل gpu:

@app.function(image=image, gpu="T4")  # Options: "T4", "A10G", "A100", "H100"
def predict_gpu(image_url: str):
    """Run YOLO26 inference on GPU."""
    from ultralytics import YOLO

    model = YOLO("yolo26n.pt")
    results = model(image_url)
    print(results[0].boxes)
GPUالذاكرةالأفضل لـ
T416 GBالاستدلال، تدريب النماذج الصغيرة
A10G24 GBمهام التدريب المتوسطة
A10040 GBالتدريب على نطاق واسع
H10080 GBأقصى أداء

Link to this sectionتدريب YOLO26 على Modal#

للتدريب، استخدم GPU ووحدات التخزين (Volumes) في Modal للتخزين المستمر. أنشئ ملف Python جديداً باسم train_yolo.py:

import modal

app = modal.App("ultralytics-training")

volume = modal.Volume.from_name("yolo-training-vol", create_if_missing=True)

image = modal.Image.debian_slim(python_version="3.11").apt_install("libgl1", "libglib2.0-0").pip_install("ultralytics")

@app.function(image=image, gpu="T4", timeout=3600, volumes={"/data": volume})
def train():
    """Train YOLO26 model on Modal."""
    from ultralytics import YOLO

    model = YOLO("yolo26n.pt")
    model.train(data="coco8.yaml", epochs=3, imgsz=640, project="/data/runs")

@app.local_entrypoint()
def main():
    train.remote()

تشغيل التدريب:

modal run train_yolo.py
استمرارية وحدة التخزين

تحتفظ وحدات تخزين Modal بالبيانات بين عمليات تشغيل الوظائف. يتم حفظ الأوزان المدربة في /data/runs/detect/train/weights/.

تهانينا! لقد قمت بإعداد Ultralytics YOLO26 على Modal بنجاح. لمزيد من التعلم:

Link to this sectionالأسئلة الشائعة#

Link to this sectionكيف أختار الـ GPU المناسب لعبء عمل YOLO26 الخاص بي؟#

بالنسبة للاستدلال، عادة ما يكون NVIDIA T4 (16 GB) كافياً وفعالاً من حيث التكلفة. للتدريب أو النماذج الأكبر مثل YOLO26x، فكر في استخدام GPUs من طراز A10G أو A100.

Link to this sectionكم تبلغ تكلفة تشغيل YOLO26 على Modal؟#

تستخدم Modal نظام التسعير بالثانية. الأسعار التقريبية: CPU ~0.05 دولار/ساعة، T4 ~0.59 دولار/ساعة، A10G ~1.10 دولار/ساعة، A100 ~2.10 دولار/ساعة. تحقق من أسعار Modal لمعرفة الأسعار الحالية.

Link to this sectionهل يمكنني استخدام نموذج YOLO المخصص الخاص بي؟#

نعم! قم بتحميل النماذج المخصصة من وحدة تخزين Modal:

model = YOLO("/data/my_custom_model.pt")

لمزيد من المعلومات حول تدريب النماذج المخصصة، راجع دليل التدريب.

Contributors

تعليقات