تخطي إلى المحتوى

دليل البدء السريع: NVIDIA Jetson مع Ultralytics YOLO11

يوفر هذا الدليل الشامل شرحًا تفصيليًا لنشر Ultralytics YOLO11 على أجهزة NVIDIA Jetson. بالإضافة إلى ذلك، فإنه يعرض معايير الأداء لتوضيح قدرات YOLO11 على هذه الأجهزة الصغيرة والقوية.

دعم منتج جديد

لقد قمنا بتحديث هذا الدليل بأحدث مجموعة مطوريNVIDIA Jetson AGX Thor Developer Kit التي توفر ما يصل إلى 2070 FP4 TFLOPS من حوسبة الذكاء الاصطناعي و128 جيجابايت من الذاكرة مع طاقة قابلة للتكوين بين 40 واط و130 واط. توفر حوسبة ذكاء اصطناعي أعلى 7.5 أضعاف من NVIDIA Jetson AGX Orin، مع كفاءة طاقة أفضل 3.5 أضعاف لتشغيل نماذج الذكاء الاصطناعي الأكثر شيوعًا بسلاسة.



شاهد: كيفية استخدام Ultralytics YOLO11 على أجهزة NVIDIA JETSON

النظام البيئي NVIDIA Jetson

ملاحظة

لقد تم اختبار هذا الدليل باستخدام مجموعة مطوريNVIDIA Jetson AGX Thor Developer Kit التي تعمل بأحدث إصدار مستقر من JetPack JP7.0، ومجموعة مطوريNVIDIA Jetson AGX Orin (64 جيجابايت) التي تعمل بإصدار JetPack JP6.2، ومجموعة مطوريNVIDIA Jetson Orin Nano Super Developer Kit التي تعمل بإصدار JetPack JP6.1، وSeeed Studio reComputer J4012 الذي يعتمد على NVIDIA Jetson Orin NX سعة 16 جيجابايت الذي يعمل بإصدار JetPack JP6.0/إصدار JetPack JP5.1.3، وSeeed Studio reComputer J1020 v2 الذي يعتمد على NVIDIA Jetson Nano سعة 4 جيجابايت الذي يعمل بإصدار JetPack JP4.6.1. من المتوقع أن يعمل عبر جميع تشكيلة أجهزة NVIDIA Jetson بما في ذلك الأحدث والأقدم.

ما هو NVIDIA Jetson؟

NVIDIA Jetson عبارة عن سلسلة من لوحات الحوسبة المدمجة المصممة لجلب الحوسبة المعجلة للذكاء الاصطناعي (الذكاء الاصطناعي) إلى الأجهزة الطرفية. تم تصميم هذه الأجهزة المدمجة والقوية حول بنية NVIDIA GPU وهي قادرة على تشغيل خوارزميات الذكاء الاصطناعي المعقدة ونماذج التعلم العميق مباشرة على الجهاز، دون الحاجة إلى الاعتماد على موارد الحوسبة السحابية. غالبًا ما تستخدم لوحات Jetson في الروبوتات والمركبات ذاتية القيادة والأتمتة الصناعية والتطبيقات الأخرى حيث يجب إجراء استنتاج الذكاء الاصطناعي محليًا بزمن انتقال منخفض وكفاءة عالية. بالإضافة إلى ذلك، تستند هذه اللوحات إلى بنية ARM64 وتعمل بطاقة أقل مقارنة بأجهزة حوسبة GPU التقليدية.

مقارنة سلسلة NVIDIA Jetson

NVIDIA Jetson AGX Thor هو أحدث تكرار لعائلة NVIDIA Jetson التي تعتمد على بنية NVIDIA Blackwell التي توفر أداء ذكاءً محسّنًا بشكل كبير مقارنةً بالأجيال السابقة. يقارن الجدول أدناه بين بعض أجهزة Jetson في النظام البيئي.

جيتسون إيه جي إكس ثورJetson AGX Orin 64GBJetson Orin NX 16GBJetson Orin Nano SuperJetson AGX XavierJetson Xavier NXJetson Nano
أداء الذكاء الاصطناعي2070 TFLOPS275 TOPS100 TOPS67 توبس 6732 TOPS21 TOPS472 جيجا فلوبس
GPUGPU NVIDIA Blackwell ذات 2560 نواة مع 96 نواة Tensorوحدة معالجة الرسوميات (GPU) بمعمارية NVIDIA Ampere بـ 2048 نواة مع 64 نواة tensorوحدة معالجة الرسوميات NVIDIA Ampere ببنية 1024 نواة مع 32 نواة tensorوحدة معالجة الرسوميات NVIDIA Ampere ببنية 1024 نواة مع 32 نواة tensorوحدة معالجة الرسوميات NVIDIA Volta architecture بـ 512 نواة مع 64 نواة tensorوحدة معالجة الرسوميات (GPU) بمعمارية NVIDIA Volta™ بـ 384 نواة مع 48 نواة tensorوحدة معالجة الرسوميات NVIDIA Maxwell™ ببنية 128 نواة
التردد الأقصى لوحدة معالجة الرسوميات GPU1.57 جيجاهرتز1.3 جيجاهرتز918 ميجاهرتز1020 ميجاهرتز1377 ميجاهرتز1100 ميجاهرتز921 ميجاهرتز
وحدة المعالجة المركزية (CPU)CPU ذات 14 نواة Arm® Neoverse®-V3AE 64 بت 1 ميجابايت L2 + 16 ميجابايت L3وحدة معالجة مركزية NVIDIA Arm® Cortex A78AE v8.2 64-bit CPU بـ 12 نواة وذاكرة تخزين مؤقت L2 سعة 3 ميجابايت + ذاكرة تخزين مؤقت L3 سعة 6 ميجابايتوحدة معالجة مركزية NVIDIA Arm® Cortex A78AE v8.2 64-bit CPU ثمانية النواة بسعة 2 ميجابايت L2 + 4 ميجابايت L3وحدة معالجة مركزية 6-core Arm® Cortex®-A78AE v8.2 64-bit CPU بسعة 1.5 ميجابايت L2 + 4 ميجابايت L3وحدة معالجة مركزية NVIDIA Carmel Arm®v8.2 64-bit CPU ثمانية النواة بسعة 8 ميجابايت L2 + 4 ميجابايت L3وحدة معالجة مركزية NVIDIA Carmel Arm®v8.2 64-bit CPU سداسية النواة بسعة 6 ميجابايت L2 + 4 ميجابايت L3معالج Quad-Core Arm® Cortex®-A57 MPCore
الحد الأقصى لتردد وحدة المعالجة المركزية (CPU)2.6 جيجا هرتز2.2 جيجاهرتز2.0 جيجاهرتز1.7 جيجاهرتز2.2 جيجاهرتز1.9 جيجاهرتز1.43 جيجاهرتز
الذاكرة128 جيجابايت 256 بت LPDDR5X 273 جيجابايت/ثانيةذاكرة وصول عشوائي LPDDR5 بسعة 64 جيجابايت و 256 بت بسرعة 204.8 جيجابايت/ثانيةذاكرة وصول عشوائي LPDDR5 سعة 16 جيجابايت و 128 بت بسرعة 102.4 جيجابايت/ثانيةذاكرة وصول عشوائي LPDDR5 بسعة 8 جيجابايت و 128 بت بسرعة 102 جيجابايت/ثانية32 جيجابايت 256-bit LPDDR4x 136.5 جيجابايت/ثانيةذاكرة وصول عشوائي LPDDR4x بسعة 8 جيجابايت و 128 بت بسرعة 59.7 جيجابايت/ثانية4 جيجابايت 64 بت LPDDR4 سعة 4 جيجابايت/ثانية 25.6 جيجابايت/ثانية

للاطلاع على جدول مقارنة أكثر تفصيلاً، يُرجى زيارة قسم مقارنة المواصفات في صفحة NVIDIA Jetson الرسمية.

ما هو NVIDIA JetPack؟

توفر NVIDIA JetPack SDK التي تدعم وحدات Jetson الحل الأكثر شمولاً وتوفر بيئة تطوير كاملة لإنشاء تطبيقات الذكاء الاصطناعي المتسارعة الشاملة وتقصير الوقت اللازم لطرحها في السوق. يشتمل JetPack على Jetson Linux مع أداة تحميل التشغيل ونواة Linux وبيئة سطح مكتب Ubuntu ومجموعة كاملة من المكتبات لتسريع حوسبة وحدة معالجة الرسومات (GPU) والوسائط المتعددة والرسومات ورؤية الكمبيوتر. كما يتضمن أيضًا أمثلة ووثائق وأدوات تطوير لكل من الكمبيوتر المضيف ومجموعة المطورين، ويدعم SDKs ذات المستوى الأعلى مثل DeepStream لتحليلات الفيديو المتدفقة و Isaac للروبوتات و Riva للذكاء الاصطناعي للمحادثة.

تثبيت Flash JetPack على NVIDIA Jetson

الخطوة الأولى بعد الحصول على جهاز NVIDIA Jetson هي تثبيت NVIDIA JetPack على الجهاز. هناك عدة طرق مختلفة لتثبيت أجهزة NVIDIA Jetson.

  1. إذا كنت تمتلك مجموعة أدوات تطوير NVIDIA الرسمية مثل Jetson AGX Thor Developer Kit، يمكنك تنزيل صورة وإعداد شريحة USB قابلة للتمهيد لفلاش JetPack على قرص SSD المضمن.
  2. إذا كنت تمتلك مجموعة تطوير NVIDIA الرسمية مثل Jetson Orin Nano Developer Kit، فيمكنك تنزيل صورة وإعداد بطاقة SD باستخدام JetPack لتمهيد الجهاز.
  3. إذا كنت تمتلك أي مجموعة تطوير NVIDIA أخرى، فيمكنك تثبيت JetPack على الجهاز باستخدام SDK Manager.
  4. إذا كنت تمتلك جهاز Seeed Studio reComputer J4012، فيمكنك تثبيت JetPack على SSD المضمن وإذا كنت تمتلك جهاز Seeed Studio reComputer J1020 v2، فيمكنك تثبيت JetPack على eMMC/ SSD.
  5. إذا كنت تمتلك أي جهاز تابع لجهة خارجية مدعوم بوحدة NVIDIA Jetson، فمن المستحسن اتباع وميض سطر الأوامر.

ملاحظة

بالنسبة للطرق 1 و4 و5 أعلاه، بعد وميض النظام وتشغيل الجهاز، يُرجى إدخال "sudo apt update & sudo apt install nvidia-y" على طرفية الجهاز لتثبيت جميع مكونات JetPack المتبقية المطلوبة.

دعم JetPack بناءً على جهاز Jetson

يسلط الجدول أدناه الضوء على إصدارات NVIDIA JetPack التي تدعمها أجهزة NVIDIA Jetson المختلفة.

JetPack 4JetPack 5JetPack 6JetPack 7
Jetson Nano
Jetson TX2
Jetson Xavier NX
Jetson AGX Xavier
Jetson AGX Orin
Jetson Orin NX
Jetson Orin Nano
جيتسون إيه جي إكس ثور

بداية سريعة مع Docker

أسرع طريقة للبدء مع Ultralytics YOLO11 على NVIDIA Jetson هي التشغيل باستخدام صور Docker مسبقة الإنشاء لـ Jetson. ارجع إلى الجدول أعلاه واختر إصدار JetPack وفقًا لجهاز Jetson الذي تملكه.

t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t
t=ultralytics/ultralytics:latest-jetson-jetpack5
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t
t=ultralytics/ultralytics:latest-jetson-jetpack6
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t

قريباً! ترقبوا معنا!

بعد الانتهاء من ذلك، انتقل إلى استخدام TensorRT على قسم NVIDIA Jetson.

ابدأ بالتثبيت الأصلي

للتثبيت الأصلي بدون Docker، يرجى الرجوع إلى الخطوات أدناه.

التشغيل على JetPack 7.0

تثبيت حزمة Ultralytics

هنا سنقوم بتثبيت حزمة Ultralytics على Jetson مع التبعيات الاختيارية حتى نتمكن من تصدير نماذج PyTorch إلى تنسيقات مختلفة أخرى. سنركز بشكل أساسي على صادرات NVIDIA TensorRT لأن TensorRT ستضمن حصولنا على أقصى أداء من أجهزة Jetson.

  1. تحديث قائمة الحزم وتثبيت pip والترقية إلى الأحدث

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. تثبيت ultralytics حزمة pip مع تبعيات اختيارية

    pip install ultralytics[export]
    
  3. أعد تشغيل الجهاز

    sudo reboot
    

تثبيت PyTorch و Torchvision

سيُثبِّت ultralytics المذكور أعلاه Torch و Torchvision. ومع ذلك، فإن هاتين الحزمتين المثبتتين عبر pip غير متوافقتين للتشغيل على Jetson AGX Thor الذي يأتي مع JetPack 7.0 و CUDA 13. لذلك، نحتاج إلى تثبيتهما يدويًا.

تثبيت torch و torchvision وفقًا ل JP7.0

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130

تثبيت onnxruntime-gpu

في onnxruntime-gpu الحزمة المستضافة في PyPI ليس لديها aarch64 الثنائيات الخاصة بـ Jetson. لذلك نحن بحاجة إلى تثبيت هذه الحزمة يدويًا. هذه الحزمة مطلوبة لبعض عمليات التصدير.

سنقوم هنا بتنزيل وتثبيت onnxruntime-gpu 1.24.0 مع Python3.12 الدعم.

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whl

التشغيل على JetPack 6.1

تثبيت حزمة Ultralytics

هنا سنقوم بتثبيت حزمة Ultralytics على Jetson مع التبعيات الاختيارية حتى نتمكن من تصدير نماذج PyTorch إلى تنسيقات مختلفة أخرى. سنركز بشكل أساسي على صادرات NVIDIA TensorRT لأن TensorRT ستضمن حصولنا على أقصى أداء من أجهزة Jetson.

  1. تحديث قائمة الحزم وتثبيت pip والترقية إلى الأحدث

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. تثبيت ultralytics حزمة pip مع تبعيات اختيارية

    pip install ultralytics[export]
    
  3. أعد تشغيل الجهاز

    sudo reboot
    

تثبيت PyTorch و Torchvision

سيُثبِّت ultralytics المذكور أعلاه Torch و Torchvision. ومع ذلك، فإن هاتين الحزمتين المثبتتين عبر pip غير متوافقتين مع منصة Jetson، التي تعتمد على بنية ARM64. لذلك، نحن بحاجة إلى تثبيت عجلة PyTorch يدويًا من خلال عجلة PyTorch المبنية مسبقًا وتجميع أو تثبيت Torchvision من المصدر.

تثبيت torch 2.5.0 و torchvision 0.20 وفقًا لـ JP6.1

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.5.0a0+872d972e41.nv24.08-cp310-cp310-linux_aarch64.whl
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.20.0a0+afc54f7-cp310-cp310-linux_aarch64.whl

ملاحظة

تفضل بزيارة صفحة PyTorch لـ Jetson للوصول إلى جميع الإصدارات المختلفة من PyTorch لإصدارات JetPack المختلفة. للحصول على قائمة أكثر تفصيلاً حول توافق PyTorch و Torchvision، تفضل بزيارة صفحة توافق PyTorch و Torchvision.

تثبيت cuSPARSELt لإصلاح مشكلة في التبعيات مع torch 2.5.0

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/arm64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install libcusparselt0 libcusparselt-dev

تثبيت onnxruntime-gpu

في onnxruntime-gpu الحزمة المستضافة في PyPI ليس لديها aarch64 الثنائيات الخاصة بـ Jetson. لذلك نحن بحاجة إلى تثبيت هذه الحزمة يدويًا. هذه الحزمة مطلوبة لبعض عمليات التصدير.

يمكنك العثور على جميع onnxruntime-gpu — منظمة حسب إصدار JetPack وإصدار Python وتفاصيل التوافق الأخرى — في مصفوفة توافق Jetson Zoo ONNX Runtime. هنا سنقوم بتنزيل وتثبيت onnxruntime-gpu 1.20.0 مع Python3.10 الدعم.

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.20.0-cp310-cp310-linux_aarch64.whl

ملاحظة

onnxruntime-gpu سيؤدي تلقائيًا إلى إرجاع إصدار numpy إلى الأحدث. لذا، نحتاج إلى إعادة تثبيت numpy إلى 1.23.5 لإصلاح مشكلة عن طريق تنفيذ:

pip install numpy==1.23.5

التشغيل على JetPack 5.1.2

تثبيت حزمة Ultralytics

هنا سنقوم بتثبيت حزمة Ultralytics على Jetson مع التبعيات الاختيارية حتى نتمكن من تصدير نماذج PyTorch إلى تنسيقات مختلفة أخرى. سنركز بشكل أساسي على صادرات NVIDIA TensorRT لأن TensorRT ستضمن حصولنا على أقصى أداء من أجهزة Jetson.

  1. تحديث قائمة الحزم وتثبيت pip والترقية إلى الأحدث

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. تثبيت ultralytics حزمة pip مع تبعيات اختيارية

    pip install ultralytics[export]
    
  3. أعد تشغيل الجهاز

    sudo reboot
    

تثبيت PyTorch و Torchvision

سيُثبِّت ultralytics المذكور أعلاه Torch و Torchvision. ومع ذلك، فإن هاتين الحزمتين المثبتتين عبر pip غير متوافقتين مع منصة Jetson، التي تعتمد على بنية ARM64. لذلك، نحن بحاجة إلى تثبيت عجلة PyTorch يدويًا من خلال عجلة PyTorch المبنية مسبقًا وتجميع أو تثبيت Torchvision من المصدر.

  1. إلغاء تثبيت PyTorch و Torchvision المثبتين حاليًا

    pip uninstall torch torchvision
    
  2. تثبيت torch 2.2.0 و torchvision 0.17.2 وفقًا لـ JP5.1.2

    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.2.0-cp38-cp38-linux_aarch64.whl
    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.17.2+c1d70fe-cp38-cp38-linux_aarch64.whl
    

ملاحظة

تفضل بزيارة صفحة PyTorch لـ Jetson للوصول إلى جميع الإصدارات المختلفة من PyTorch لإصدارات JetPack المختلفة. للحصول على قائمة أكثر تفصيلاً حول توافق PyTorch و Torchvision، تفضل بزيارة صفحة توافق PyTorch و Torchvision.

تثبيت onnxruntime-gpu

في onnxruntime-gpu الحزمة المستضافة في PyPI ليس لديها aarch64 الثنائيات الخاصة بـ Jetson. لذلك نحن بحاجة إلى تثبيت هذه الحزمة يدويًا. هذه الحزمة مطلوبة لبعض عمليات التصدير.

يمكنك العثور على جميع onnxruntime-gpu — منظمة حسب إصدار JetPack وإصدار Python وتفاصيل التوافق الأخرى — في مصفوفة توافق Jetson Zoo ONNX Runtime. هنا سنقوم بتنزيل وتثبيت onnxruntime-gpu 1.17.0 مع Python3.8 الدعم.

wget https://nvidia.box.com/shared/static/zostg6agm00fb6t5uisw51qi6kpcuwzd.whl -O onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whl
pip install onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whl

ملاحظة

onnxruntime-gpu سيؤدي تلقائيًا إلى إرجاع إصدار numpy إلى الأحدث. لذا، نحتاج إلى إعادة تثبيت numpy إلى 1.23.5 لإصلاح مشكلة عن طريق تنفيذ:

pip install numpy==1.23.5

استخدم TensorRT على NVIDIA Jetson

من بين جميع تنسيقات تصدير النماذج التي تدعمها Ultralytics، يوفر TensorRT أعلى أداء استدلال على أجهزة NVIDIA Jetson، مما يجعله توصيتنا الأولى لعمليات نشر Jetson. للحصول على إرشادات الإعداد والاستخدام المتقدم، راجع دليل تكامل TensorRT المخصص الخاص بنا.

تحويل النموذج إلى TensorRT وتشغيل الاستدلال

يتم تحويل نموذج YOLO11n بتنسيق PyTorch إلى TensorRT لتشغيل الاستدلال مع النموذج الذي تم تصديره.

مثال

from ultralytics import YOLO

# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

# Export the model to TensorRT
model.export(format="engine")  # creates 'yolo11n.engine'

# Load the exported TensorRT model
trt_model = YOLO("yolo11n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TensorRT format
yolo export model=yolo11n.pt format=engine # creates 'yolo11n.engine'

# Run inference with the exported model
yolo predict model=yolo11n.engine source='https://ultralytics.com/images/bus.jpg'

ملاحظة

تفضل بزيارة صفحة التصدير للوصول إلى المزيد من الوسائط عند تصدير النماذج إلى تنسيقات نماذج مختلفة

استخدم NVIDIA Deep Learning Accelerator (DLA)

NVIDIA Deep Learning Accelerator (DLA) هو مكون أجهزة متخصص مدمج في أجهزة NVIDIA Jetson يعمل على تحسين استدلال التعلم العميق لكفاءة الطاقة والأداء. من خلال تفريغ المهام من وحدة معالجة الرسومات (مما يحررها لعمليات أكثر كثافة)، يتيح DLA تشغيل النماذج باستهلاك أقل للطاقة مع الحفاظ على إنتاجية عالية، وهو مثالي للأنظمة المدمجة وتطبيقات الذكاء الاصطناعي في الوقت الفعلي.

أجهزة Jetson التالية مزودة بأجهزة DLA:

جهاز Jetsonنوى DLAالحد الأقصى لتردد DLA
سلسلة Jetson AGX Orin21.6 غيغاهرتز
Jetson Orin NX 16GB2614 ميغاهرتز
Jetson Orin NX 8GB1614 ميغاهرتز
سلسلة Jetson AGX Xavier21.4 غيغاهرتز
سلسلة Jetson Xavier NX21.1 غيغاهرتز

مثال

from ultralytics import YOLO

# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

# Export the model to TensorRT with DLA enabled (only works with FP16 or INT8)
model.export(format="engine", device="dla:0", half=True)  # dla:0 or dla:1 corresponds to the DLA cores

# Load the exported TensorRT model
trt_model = YOLO("yolo11n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TensorRT format with DLA enabled (only works with FP16 or INT8)
# Once DLA core number is specified at export, it will use the same core at inference
yolo export model=yolo11n.pt format=engine device="dla:0" half=True # dla:0 or dla:1 corresponds to the DLA cores

# Run inference with the exported model on the DLA
yolo predict model=yolo11n.engine source='https://ultralytics.com/images/bus.jpg'

ملاحظة

عند استخدام تصديرات DLA، قد لا يتم دعم بعض الطبقات للتشغيل على DLA وستعود إلى وحدة معالجة الرسومات (GPU) للتنفيذ. يمكن أن يؤدي هذا الرجوع إلى إضافة زمن انتقال إضافي والتأثير على أداء الاستدلال العام. لذلك، لم يتم تصميم DLA بشكل أساسي لتقليل زمن انتقال الاستدلال مقارنة بـ TensorRT الذي يعمل بالكامل على وحدة معالجة الرسومات (GPU). بدلاً من ذلك، فإن غرضه الأساسي هو زيادة الإنتاجية وتحسين كفاءة استخدام الطاقة.

مقاييس NVIDIA Jetson YOLO11 المعيارية

تم تشغيل معايير YOLO11 من قِبل فريق Ultralytics على 11 نموذجًا مختلفًا لقياس السرعة والدقة: PyTorch TorchScript ONNX OpenVINO TensorRT TF SavedModel TF GraphDef TF Lite، وNNN، NCNN وExecuTorch. تم تشغيل المعايير على مجموعة مطور NVIDIA Jetson AGX Thor Developer Kit، ومجموعة مطور NVIDIA Jetson AGX Orin (64 جيجابايت)، ومجموعة مطور NVIDIA Jetson Orin Nano Super Developer Kit، وSeed Studio reComputer J4012 المدعوم بجهاز Jetson Orin NX سعة 16 جيجابايت بدقة FP32 مع حجم إدخال افتراضي يبلغ 640.

مخططات المقارنة

على الرغم من أن جميع عمليات تصدير النماذج تعمل مع NVIDIA Jetson، فقد قمنا بتضمين PyTorch و TorchScript و TensorRT فقط لمخطط المقارنة أدناه لأنها تستخدم وحدة معالجة الرسومات (GPU) على Jetson ومضمونة لإنتاج أفضل النتائج. تستخدم جميع عمليات التصدير الأخرى وحدة المعالجة المركزية (CPU) فقط والأداء ليس جيدًا مثل الثلاثة المذكورة أعلاه. يمكنك العثور على معايير لجميع عمليات التصدير في القسم الموجود بعد هذا المخطط.

مجموعة مطور NVIDIA Jetson AGX Thor Kit

مقاييس Jetson AGX Thor المعيارية
تمت المقارنة المعيارية مع Ultralytics 8.3.226

مجموعة تطوير NVIDIA Jetson AGX Orin (بسعة 64 جيجابايت)

معايير Jetson AGX Orin
تم القياس باستخدام Ultralytics 8.3.157

مجموعة أدوات NVIDIA Jetson Orin Nano Super Developer

معايير Jetson Orin Nano Super
تم القياس باستخدام Ultralytics 8.3.157

NVIDIA Jetson Orin NX 16GB

معايير Jetson Orin NX 16GB
تم القياس باستخدام Ultralytics 8.3.157

جداول مقارنة تفصيلية

يمثّل الجدول أدناه النتائج المعيارية لخمسة نماذج مختلفة (YOLO11n، YOLO11n، YOLO11s، YOLO11m، YOLO11l، YOLO11x) عبر 11 صيغة مختلفةPyTorch TorchScript ONNX OpenVINO TensorRT TF SavedModel TF GraphDef TF GraphDef TF Lite، MNN، NCNN ExecuTorch)، مع إعطائنا الحالة والحجم ومقياس mAP50-95(B) وزمن الاستدلال لكل مجموعة.

مجموعة مطور NVIDIA Jetson AGX Thor Kit

الأداء

التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch5.40.50704.1
TorchScript10.50.50833.61
ONNX10.20.50764.8
OpenVINO10.40.505816.48
TensorRT ‏(FP32)12.60.50771.70
TensorRT ‏(FP16)7.70.50751.20
TensorRT ‏(INT8)6.20.48581.29
TF SavedModel25.70.507640.35
TF GraphDef10.30.507640.55
TF Lite10.30.5075206.74
MNN10.10.507523.47
NCNN10.20.504122.05
إكسيكوتورش10.20.507534.28
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch18.40.57706.10
TorchScript36.60.57835.33
ONNX36.30.57837.01
OpenVINO36.40.580933.08
TensorRT ‏(FP32)40.10.57842.57
TensorRT ‏(FP16)20.80.57961.55
TensorRT ‏(INT8)12.70.55141.50
TF SavedModel90.80.578280.55
TF GraphDef36.30.578280.82
TF Lite36.30.5782615.29
MNN36.20.579054.12
NCNN36.30.580640.76
إكسيكوتورش36.20.578267.21
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch38.80.625011.4
TorchScript77.30.630410.16
ONNX76.90.630412.35
OpenVINO77.10.628477.81
TensorRT ‏(FP32)80.70.63055.29
TensorRT ‏(FP16)41.30.62942.42
TensorRT ‏(INT8)23.70.61332.20
TF SavedModel192.40.6306184.66
TF GraphDef76.90.6306187.91
TF Lite76.90.63061845.09
MNN76.80.6298143.52
NCNN76.90.630895.86
إكسيكوتورش76.90.6306167.94
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch49.00.637014.0
TorchScript97.60.640913.77
ONNX97.00.641016.37
OpenVINO97.30.637798.86
TensorRT ‏(FP32)101.00.63966.71
TensorRT ‏(FP16)51.50.63583.26
TensorRT ‏(INT8)29.70.61903.21
TF SavedModel242.70.6409246.93
TF GraphDef97.00.6409251.84
TF Lite97.00.64092383.45
MNN96.90.6361176.53
NCNN97.00.6373118.05
إكسيكوتورش97.00.6409211.46
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch109.30.699021.70
TorchScript218.10.690020.99
ONNX217.50.690024.07
OpenVINO217.80.6872187.33
TensorRT ‏(FP32)220.00.690211.70
TensorRT ‏(FP16)114.60.68815.10
TensorRT ‏(INT8)59.90.68574.53
TF SavedModel543.90.6900489.91
TF GraphDef217.50.6900503.21
TF Lite217.50.69005164.31
MNN217.30.6905350.37
NCNN217.50.6901230.63
إكسيكوتورش217.40.6900419.9

تمت المقارنة المعيارية مع Ultralytics 8.3.226

ملاحظة

لا يشمل وقت الاستدلال المعالجة المسبقة/اللاحقة.

مجموعة تطوير NVIDIA Jetson AGX Orin (بسعة 64 جيجابايت)

الأداء

التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch5.40.51019.40
TorchScript10.50.508311.00
ONNX10.20.507748.32
OpenVINO10.40.505827.24
TensorRT ‏(FP32)12.10.50853.93
TensorRT ‏(FP16)8.30.50632.55
TensorRT ‏(INT8)5.40.47192.18
TF SavedModel25.90.507766.87
TF GraphDef10.30.507765.68
TF Lite10.30.5077272.92
MNN10.10.505936.33
NCNN10.20.503128.51
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch18.40.578312.10
TorchScript36.50.578211.01
ONNX36.30.5782107.54
OpenVINO36.40.581055.03
TensorRT ‏(FP32)38.10.57816.52
TensorRT ‏(FP16)21.40.58033.65
TensorRT ‏(INT8)12.10.57352.81
TF SavedModel91.00.5782132.73
TF GraphDef36.40.5782134.96
TF Lite36.30.5782798.21
MNN36.20.577782.35
NCNN36.20.578456.07
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch38.80.626522.20
TorchScript77.30.630721.47
ONNX76.90.6307270.89
OpenVINO77.10.6284129.10
TensorRT ‏(FP32)78.80.630612.53
TensorRT ‏(FP16)41.90.63056.25
TensorRT ‏(INT8)23.20.62914.69
TF SavedModel192.70.6307299.95
TF GraphDef77.10.6307310.58
TF Lite77.00.63072400.54
MNN76.80.6308213.56
NCNN76.80.6284141.18
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch49.00.636427.70
TorchScript97.60.639927.94
ONNX97.00.6409345.47
OpenVINO97.30.6378161.93
TensorRT ‏(FP32)99.10.640616.11
TensorRT ‏(FP16)52.60.63768.08
TensorRT ‏(INT8)30.80.62086.12
TF SavedModel243.10.6409390.78
TF GraphDef97.20.6409398.76
TF Lite97.10.64093037.05
MNN96.90.6372265.46
NCNN96.90.6364179.68
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch109.30.700544.40
TorchScript218.10.689847.49
ONNX217.50.6900682.98
OpenVINO217.80.6876298.15
TensorRT ‏(FP32)219.60.690428.50
TensorRT ‏(FP16)112.20.688713.55
TensorRT ‏(INT8)60.00.65749.40
TF SavedModel544.30.6900749.85
TF GraphDef217.70.6900753.86
TF Lite217.60.69006603.27
MNN217.30.6868519.77
NCNN217.30.6849298.58

تم القياس باستخدام Ultralytics 8.3.157

ملاحظة

لا يشمل وقت الاستدلال المعالجة المسبقة/اللاحقة.

مجموعة أدوات NVIDIA Jetson Orin Nano Super Developer

الأداء

التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch5.40.510113.70
TorchScript10.50.508213.69
ONNX10.20.508114.47
OpenVINO10.40.505856.66
TensorRT ‏(FP32)12.00.50817.44
TensorRT ‏(FP16)8.20.50614.53
TensorRT ‏(INT8)5.40.48253.70
TF SavedModel25.90.5077116.23
TF GraphDef10.30.5077114.92
TF Lite10.30.5077340.75
MNN10.10.505976.26
NCNN10.20.503145.03
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch18.40.579020.90
TorchScript36.50.578121.22
ONNX36.30.578125.07
OpenVINO36.40.5810122.98
TensorRT ‏(FP32)37.90.578313.02
TensorRT ‏(FP16)21.80.57796.93
TensorRT ‏(INT8)12.20.57355.08
TF SavedModel91.00.5782250.65
TF GraphDef36.40.5782252.69
TF Lite36.30.5782998.68
MNN36.20.5781188.01
NCNN36.20.5784101.37
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch38.80.626646.50
TorchScript77.30.630747.95
ONNX76.90.630753.06
OpenVINO77.10.6284301.63
TensorRT ‏(FP32)78.80.630527.86
TensorRT ‏(FP16)41.70.630913.50
TensorRT ‏(INT8)23.20.62919.12
TF SavedModel192.70.6307622.24
TF GraphDef77.10.6307628.74
TF Lite77.00.63072997.93
MNN76.80.6299509.96
NCNN76.80.6284292.99
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch49.00.636456.50
TorchScript97.60.640962.51
ONNX97.00.639968.35
OpenVINO97.30.6378376.03
TensorRT ‏(FP32)99.20.639635.59
TensorRT ‏(FP16)52.10.636117.48
TensorRT ‏(INT8)30.90.620711.87
TF SavedModel243.10.6409807.47
TF GraphDef97.20.6409822.88
TF Lite97.10.64093792.23
MNN96.90.6372631.16
NCNN96.90.6364350.46
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch109.30.700590.00
TorchScript218.10.6901113.40
ONNX217.50.6901122.94
OpenVINO217.80.6876713.1
TensorRT ‏(FP32)219.50.690466.93
TensorRT ‏(FP16)112.20.689232.58
TensorRT ‏(INT8)61.50.661219.90
TF SavedModel544.30.69001605.4
TF GraphDef217.80.69002961.8
TF Lite217.60.69008234.86
MNN217.30.68931254.18
NCNN217.30.6849725.50

تم القياس باستخدام Ultralytics 8.3.157

ملاحظة

لا يشمل وقت الاستدلال المعالجة المسبقة/اللاحقة.

NVIDIA Jetson Orin NX 16GB

الأداء

التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch5.40.510112.90
TorchScript10.50.508213.17
ONNX10.20.508115.43
OpenVINO10.40.505839.80
TensorRT ‏(FP32)11.80.50817.94
TensorRT ‏(FP16)8.10.50854.73
TensorRT ‏(INT8)5.40.47863.90
TF SavedModel25.90.507788.48
TF GraphDef10.30.507786.67
TF Lite10.30.5077302.55
MNN10.10.505952.73
NCNN10.20.503132.04
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch18.40.579021.70
TorchScript36.50.578122.71
ONNX36.30.578126.49
OpenVINO36.40.581084.73
TensorRT ‏(FP32)37.80.578313.77
TensorRT ‏(FP16)21.20.57967.31
TensorRT ‏(INT8)12.00.57355.33
TF SavedModel91.00.5782185.06
TF GraphDef36.40.5782186.45
TF Lite36.30.5782882.58
MNN36.20.5775126.36
NCNN36.20.578466.73
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch38.80.626645.00
TorchScript77.30.630751.87
ONNX76.90.630756.00
OpenVINO77.10.6284202.69
TensorRT ‏(FP32)78.70.630530.38
TensorRT ‏(FP16)41.80.630214.48
TensorRT ‏(INT8)23.20.62919.74
TF SavedModel192.70.6307445.58
TF GraphDef77.10.6307460.94
TF Lite77.00.63072653.65
MNN76.80.6308339.38
NCNN76.80.6284187.64
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch49.00.636456.60
TorchScript97.60.640966.72
ONNX97.00.639971.92
OpenVINO97.30.6378254.17
TensorRT ‏(FP32)99.20.640638.89
TensorRT ‏(FP16)51.90.636318.59
TensorRT ‏(INT8)30.90.620712.60
TF SavedModel243.10.6409575.98
TF GraphDef97.20.6409583.79
TF Lite97.10.64093353.41
MNN96.90.6367421.33
NCNN96.90.6364228.26
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (مللي ثانية / صورة)
PyTorch109.30.700598.50
TorchScript218.10.6901123.03
ONNX217.50.6901129.55
OpenVINO217.80.6876483.44
TensorRT ‏(FP32)219.60.690475.92
TensorRT ‏(FP16)112.10.688535.78
TensorRT ‏(INT8)61.60.659221.60
TF SavedModel544.30.69001120.43
TF GraphDef217.70.69001172.35
TF Lite217.60.69007283.63
MNN217.30.6877840.16
NCNN217.30.6849474.41

تم القياس باستخدام Ultralytics 8.3.157

ملاحظة

لا يشمل وقت الاستدلال المعالجة المسبقة/اللاحقة.

استكشف المزيد من جهود القياس بواسطة Seeed Studio التي تعمل على إصدارات مختلفة من أجهزة NVIDIA Jetson.

إعادة إنتاج نتائجنا

لإعادة إنتاج معايير Ultralytics المذكورة أعلاه على جميع صيغ التصدير، قم بتشغيل هذا الكود:

مثال

from ultralytics import YOLO

# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)
# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all all export formats
yolo benchmark model=yolo11n.pt data=coco128.yaml imgsz=640

لاحظ أن نتائج القياس قد تختلف بناءً على التكوين الدقيق للأجهزة والبرامج الخاصة بالنظام، بالإضافة إلى عبء العمل الحالي للنظام في وقت تشغيل القياسات. للحصول على نتائج أكثر موثوقية، استخدم مجموعة بيانات تحتوي على عدد كبير من الصور، أي data='coco.yaml' (5000 صورة تحقق).

أفضل الممارسات عند استخدام NVIDIA Jetson

عند استخدام NVIDIA Jetson، هناك بعض أفضل الممارسات التي يجب اتباعها لتمكين أقصى أداء على NVIDIA Jetson الذي يقوم بتشغيل YOLO11.

  1. تمكين وضع الطاقة القصوى

    سيضمن تمكين وضع الطاقة القصوى على Jetson تشغيل جميع نوى CPU و GPU.

    sudo nvpmodel -m 0
    
  2. تمكين ساعات Jetson

    سيضمن تمكين ساعات Jetson أن يتم ضبط جميع نوى CPU و GPU على أقصى تردد لها.

    sudo jetson_clocks
    
  3. تثبيت تطبيق Jetson Stats

    يمكننا استخدام تطبيق إحصائيات jetson لمراقبة درجات حرارة مكونات النظام والتحقق من تفاصيل النظام الأخرى مثل عرض وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU) واستخدام ذاكرة الوصول العشوائي (RAM) وتغيير أوضاع الطاقة والتعيين إلى الحد الأقصى للساعات والتحقق من معلومات JetPack.

    sudo apt update
    sudo pip install jetson-stats
    sudo reboot
    jtop
    

إحصائيات Jetson

كيف يمكنني تدريب YOLOv5 على مجموعة البيانات المخصصة الخاصة بي؟

تهانينا على إعداد YOLO11 بنجاح على NVIDIA Jetson الخاص بك! لمزيد من التعلم والدعم، قم بزيارة المزيد من الأدلة في Ultralytics YOLO11 Docs!

الأسئلة الشائعة

كيف يمكنني نشر Ultralytics YOLO11 على أجهزة NVIDIA Jetson؟

يعد نشر Ultralytics YOLO11 على أجهزة NVIDIA Jetson عملية مباشرة. أولاً، قم بتهيئة جهاز Jetson الخاص بك باستخدام NVIDIA JetPack SDK. بعد ذلك، إما أن تستخدم صورة Docker مُنشأة مسبقًا للإعداد السريع أو تثبيت الحزم المطلوبة يدويًا. يمكن العثور على خطوات مفصلة لكل طريقة في الأقسام البداية السريعة باستخدام Docker و البدء بالتثبيت الأصلي.

ما هي معايير الأداء التي يمكن أن أتوقعها من نماذج YOLO11 على أجهزة NVIDIA Jetson؟

تمت مقارنة أداء نماذج YOLO11 على أجهزة NVIDIA Jetson المختلفة، مما يدل على تحسينات كبيرة في الأداء. على سبيل المثال، يوفر تنسيق TensorRT أفضل أداء استنتاجي. يوفر الجدول الموجود في قسم جداول المقارنة التفصيلية عرضًا شاملاً لمقاييس الأداء مثل mAP50-95 ووقت الاستنتاج عبر تنسيقات النماذج المختلفة.

لماذا يجب عليّ استخدام TensorRT لنشر YOLO11 على NVIDIA Jetson؟

يوصى بشدة باستخدام TensorRT لنشر نماذج YOLO11 على NVIDIA Jetson نظرًا لأدائه الأمثل. فهو يسرع الاستدلال من خلال الاستفادة من قدرات وحدة معالجة الرسومات (GPU) الخاصة بـ Jetson، مما يضمن أقصى قدر من الكفاءة والسرعة. تعرف على المزيد حول كيفية التحويل إلى TensorRT وتشغيل الاستدلال في قسم استخدام TensorRT على NVIDIA Jetson.

كيف يمكنني تثبيت PyTorch و Torchvision على NVIDIA Jetson؟

لتثبيت PyTorch و Torchvision على NVIDIA Jetson، قم أولاً بإلغاء تثبيت أي إصدارات موجودة ربما تم تثبيتها عبر pip. بعد ذلك، قم بتثبيت إصدارات PyTorch و Torchvision المتوافقة يدويًا لبنية ARM64 الخاصة بـ Jetson. يتم توفير إرشادات مفصلة لهذه العملية في قسم تثبيت PyTorch و Torchvision.

ما هي أفضل الممارسات لتحقيق أقصى قدر من الأداء على NVIDIA Jetson عند استخدام YOLO11؟

لتحقيق أقصى قدر من الأداء على NVIDIA Jetson مع YOLO11، اتبع أفضل الممارسات التالية:

  1. تمكين وضع الطاقة القصوى لاستخدام جميع نوى CPU و GPU.
  2. تمكين ساعات Jetson لتشغيل جميع النوى بأقصى تردد لها.
  3. قم بتثبيت تطبيق Jetson Stats لمراقبة مقاييس النظام.

للحصول على الأوامر والتفاصيل الإضافية، راجع قسم أفضل الممارسات عند استخدام NVIDIA Jetson.



📅 تم الإنشاء منذ 1 سنة مضت ✏️ تم التحديث منذ 4 أيام
glenn-jocherlakshanthadRizwanMunawarBurhan-QpicsalexY-T-GLaughing-qjustincdavisMatthewNoyceUltralyticsAssistantأهل السمه

تعليقات