Meet YOLO26: next-gen vision AI.

Link to this sectionدليل البدء السريع: NVIDIA Jetson مع Ultralytics YOLO26#

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

دعم منتج جديد

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



Watch: How to use Ultralytics YOLO26 on NVIDIA Jetson Devices
NVIDIA Jetson Ecosystem
ملاحظة

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

Link to this sectionما هو NVIDIA Jetson؟#

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

Link to this sectionمقارنة سلسلة NVIDIA Jetson#

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

Jetson AGX Thor(T5000)Jetson AGX Orin 64GBJetson Orin NX 16GBJetson Orin Nano SuperJetson AGX XavierJetson Xavier NXJetson Nano
أداء الذكاء الاصطناعي2070 TFLOPS275 TOPS100 TOPS67 TOPS32 TOPS21 TOPS472 GFLOPS
GPUمعالج رسوميات بمعمارية NVIDIA Blackwell بـ 2560 نواة مع 96 Tensor Coreمعالج رسوميات بمعمارية NVIDIA Ampere بـ 2048 نواة مع 64 Tensor Coreمعالج رسوميات بمعمارية NVIDIA Ampere بـ 1024 نواة مع 32 Tensor Coreمعالج رسوميات بمعمارية NVIDIA Ampere بـ 1024 نواة مع 32 Tensor Coreمعالج رسوميات بمعمارية NVIDIA Volta بـ 512 نواة مع 64 Tensor Coreمعالج رسوميات بمعمارية NVIDIA Volta™ بـ 384 نواة مع 48 Tensor Coreمعالج رسوميات بمعمارية NVIDIA Maxwell™ بـ 128 نواة
أقصى تردد لـ GPU1.57 GHz1.3 GHz918 MHz1020 MHz1377 MHz1100 MHz921MHz
CPUوحدة معالجة مركزية Arm® Neoverse®-V3AE 64-bit بـ 14 نواة مع 1MB L2 + 16MB L3وحدة معالجة مركزية NVIDIA Arm® Cortex A78AE v8.2 64-bit بـ 12 نواة مع 3MB L2 + 6MB L3وحدة معالجة مركزية NVIDIA Arm® Cortex A78AE v8.2 64-bit بـ 8 أنوية مع 2MB L2 + 4MB L3وحدة معالجة مركزية Arm® Cortex®-A78AE v8.2 64-bit بـ 6 أنوية مع 1.5MB L2 + 4MB L3وحدة معالجة مركزية NVIDIA Carmel Arm®v8.2 64-bit بـ 8 أنوية مع 8MB L2 + 4MB L3وحدة معالجة مركزية NVIDIA Carmel Arm®v8.2 64-bit بـ 6 أنوية مع 6MB L2 + 4MB L3معالج Arm® Cortex®-A57 MPCore رباعي النواة
أقصى تردد لـ CPU2.6 GHz2.2 GHz2.0 GHz1.7 GHz2.2 GHz1.9 GHz1.43GHz
الذاكرة128GB 256-bit LPDDR5X 273GB/s64GB 256-bit LPDDR5 204.8GB/s16GB 128-bit LPDDR5 102.4GB/s8GB 128-bit LPDDR5 102 GB/s32GB 256-bit LPDDR4x 136.5GB/s8GB 128-bit LPDDR4x 59.7GB/s4GB 64-bit LPDDR4 25.6GB/s

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

Link to this sectionما هو NVIDIA JetPack؟#

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

Link to this sectionتثبيت (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-jetpack -y" في محطة طرفية على الجهاز لتثبيت كافة مكونات JetPack المتبقية المطلوبة.

Link to this sectionدعم 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
Jetson AGX Thor

Link to this sectionالبدء السريع باستخدام Docker#

أسرع طريقة للبدء باستخدام Ultralytics YOLO26 على 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

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

Link to this sectionالبدء بالتثبيت الأصلي (Native Installation)#

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

Link to this sectionالتشغيل على JetPack 7.0#

Link to this sectionتثبيت حزمة Ultralytics#

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

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

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

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

    sudo reboot

Link to this sectionتثبيت 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

Link to this sectionتثبيت 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

Link to this sectionالتشغيل على JetPack 6.1#

Link to this sectionتثبيت حزمة Ultralytics#

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

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

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

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

    sudo reboot

Link to this sectionتثبيت PyTorch وTorchvision#

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

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

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.10.0-cp310-cp310-linux_aarch64.whl
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.25.0-cp310-cp310-linux_aarch64.whl
ملاحظة

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

قم بتثبيت cuDSS لإصلاح مشكلة التبعية مع torch 2.10.0

wget https://developer.download.nvidia.com/compute/cudss/0.7.1/local_installers/cudss-local-tegra-repo-ubuntu2204-0.7.1_0.7.1-1_arm64.deb
sudo dpkg -i cudss-local-tegra-repo-ubuntu2204-0.7.1_0.7.1-1_arm64.deb
sudo cp /var/cudss-local-tegra-repo-ubuntu2204-0.7.1/cudss-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudss

Link to this sectionتثبيت onnxruntime-gpu#

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

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

بالنسبة لـ JetPack 6 مع دعم Python 3.10، يمكنك تثبيت onnxruntime-gpu 1.23.0:

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

بدلاً من ذلك، بالنسبة لـ onnxruntime-gpu 1.20.0:

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

Link to this sectionالتشغيل على JetPack 5.1.2#

Link to this sectionتثبيت حزمة Ultralytics#

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

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

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

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

    sudo reboot

Link to this sectionتثبيت PyTorch وTorchvision#

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

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

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

    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl
    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.16.2+c6f3977-cp38-cp38-linux_aarch64.whl
ملاحظة

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

Link to this sectionتثبيت 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

Link to this sectionاستخدم TensorRT على NVIDIA Jetson#

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

Link to this sectionتحويل النموذج إلى TensorRT وتشغيل الاستنتاج#

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

مثال
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

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

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

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
ملاحظة

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

Link to this sectionاستخدام مسرع التعلم العميق (DLA) من NVIDIA#

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

TensorRT 11.0 و DLA

لا يتم دعم DLA في TensorRT 11.0 ومن المخطط عودته في إصدار لاحق، لذا يتطلب تصدير DLA استخدام TensorRT 10.x. على JetPack 6.x/7.x، قم بالتصدير باستخدام إصدار TensorRT 10.x لاستخدام DLA، أو استخدم GPU لمحركات TensorRT 11.0.

أجهزة 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 YOLO26n PyTorch model
model = YOLO("yolo26n.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("yolo26n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
ملاحظة

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

Link to this sectionمعايير NVIDIA Jetson YOLO11/ YOLO26#

تم تشغيل معايير YOLO11/ YOLO26 بواسطة فريق Ultralytics على 11 تنسيقًا مختلفًا للنماذج لقياس السرعة والدقة: PyTorch، TorchScript، ONNX، OpenVINO، TensorRT، TF SavedModel، TF GraphDef، TF Lite، MNN، NCNN، ExecuTorch. تم تشغيل المعايير على NVIDIA Jetson AGX Thor Developer Kit، و NVIDIA Jetson AGX Orin Developer Kit (64GB)، و NVIDIA Jetson Orin Nano Super Developer Kit، و Seeed Studio reComputer J4012 المدعوم بجهاز Jetson Orin NX 16GB بدقة FP32 [دقة] (https://www.ultralytics.com/glossary/precision) مع حجم صورة إدخال افتراضي يبلغ 640.

Link to this sectionمخططات المقارنة#

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

Link to this sectionNVIDIA Jetson AGX Thor Developer Kit#

Jetson AGX Thor Benchmarks
Benchmarked with Ultralytics 8.3.226

Link to this sectionNVIDIA Jetson AGX Orin Developer Kit (64GB)#

Jetson AGX Orin Benchmarks
Benchmarked with Ultralytics 8.4.32

Link to this sectionNVIDIA Jetson Orin Nano Super Developer Kit#

Jetson Orin Nano Super Benchmarks
Benchmarked with Ultralytics 8.4.33

Link to this sectionNVIDIA Jetson Orin NX 16GB#

Jetson Orin NX 16GB Benchmarks
Benchmarked with Ultralytics 8.4.33

Link to this sectionجداول مقارنة تفصيلية#

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

Link to this sectionNVIDIA Jetson AGX Thor Developer Kit#

الأداء
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (ms/im)
PyTorch5.30.47987.39
TorchScript9.80.47894.21
ONNX9.50.47676.58
OpenVINO10.10.479417.50
TensorRT (FP32)13.90.47911.90
TensorRT (FP16)7.60.47971.39
TensorRT (INT8)6.50.42731.52
TF SavedModel25.70.476447.24
TF GraphDef9.50.476445.98
TF Lite9.90.4764182.04
MNN9.40.478421.83

تم إجراء الاختبار المرجعي باستخدام Ultralytics 8.4.7

ملاحظة

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

Link to this sectionNVIDIA Jetson AGX Orin Developer Kit (64GB)#

الأداء
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (ms/im)
PyTorch5.30.479011.58
TorchScript9.80.47704.60
ONNX9.50.47709.87
OpenVINO9.60.482028.80
TensorRT (FP32)11.50.04504.18
TensorRT (FP16)7.90.04502.62
TensorRT (INT8)5.40.46402.30
TF SavedModel24.60.476071.10
TF GraphDef9.50.476070.02
TF Lite9.90.4760227.94
MNN9.40.476032.46
NCNN9.30.481029.93

تم إجراء الاختبار المرجعي باستخدام Ultralytics 8.4.32

ملاحظة

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

Link to this sectionNVIDIA Jetson Orin Nano Super Developer Kit#

الأداء
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (ms/im)
PyTorch5.30.479015.60
TorchScript9.80.477012.60
ONNX9.50.476015.76
OpenVINO9.60.482056.23
TensorRT (FP32)11.30.47707.53
TensorRT (FP16)8.10.48004.57
TensorRT (INT8)5.30.44903.80
TF SavedModel24.60.4760118.33
TF GraphDef9.50.4760116.30
TF Lite9.90.4760286.00
MNN9.40.476068.77
NCNN9.30.481047.50

تم تحديد المعايير باستخدام Ultralytics 8.4.33

ملاحظة

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

Link to this sectionNVIDIA Jetson Orin NX 16GB#

الأداء
التنسيقالحالةالحجم على القرص (ميجابايت)mAP50-95(B)وقت الاستدلال (ms/im)
PyTorch5.30.479913.90
TorchScript9.80.478711.60
ONNX9.50.476314.18
OpenVINO9.60.481940.19
TensorRT (FP32)11.40.47707.01
TensorRT (FP16)8.00.47894.13
TensorRT (INT8)5.50.44893.49
TF SavedModel24.60.476492.34
TF GraphDef9.50.476492.06
TF Lite9.90.4764254.43
MNN9.40.476048.55
NCNN9.30.480534.31

تم تحديد المعايير باستخدام Ultralytics 8.4.33

ملاحظة

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

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

Link to this sectionإعادة إنتاج نتائجنا#

لإعادة إنتاج مقاييس الأداء الخاصة بـ 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 export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)

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

Link to this sectionأفضل الممارسات عند استخدام NVIDIA Jetson#

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

  1. تمكين وضع الطاقة الأقصى (MAX Power Mode)

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

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

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

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

    يمكننا استخدام تطبيق jetson stats لمراقبة درجات حرارة مكونات النظام والتحقق من تفاصيل النظام الأخرى مثل عرض استخدام CPU و GPU و RAM، وتغيير أوضاع الطاقة، والضبط على الساعات القصوى، والتحقق من معلومات JetPack.

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

Link to this sectionنصائح لتحسين الذاكرة لأجهزة NVIDIA Jetson#

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

Link to this sectionالتبديل إلى الإقلاع بدون واجهة رسومية (Headless Boot)#

إذا كان جهاز Jetson الخاص بك متصلًا عبر SSH أو يعمل كجهاز إنتاج بدون شاشة متصلة، فإن التخلص من بيئة سطح المكتب وخادم العرض يمكن أن يستعيد ما يصل إلى 865 ميجابايت من ذاكرة الوصول العشوائي (RAM):

sudo systemctl set-default multi-user.target
sudo reboot

لاستعادة سطح المكتب لاحقًا:

sudo systemctl set-default graphical.target
sudo reboot

Link to this sectionتعطيل خدمات النظام غير المستخدمة#

تستهلك خدمات الخلفية غير الأساسية (Bluetooth، مديرو الاتصال، برامج تشغيل الأجهزة غير المستخدمة) حوالي 32 ميجابايت مجتمعة. قم بإدراج الخدمات النشطة وعطّل أي شيء لا يتطلبه نشرك:

# List running services
systemctl list-units --type=service --state=running

# Disable a service
sudo systemctl disable SERVICE_NAME

Link to this sectionتحليل استخدام الذاكرة#

قبل التحسين، حدد العمليات التي تستهلك ذاكرة الوصول العشوائي (RAM) بالفعل. يقوم procrank بفرز العمليات حسب PSS (حجم المجموعة المتناسب)، والذي يعكس بصمة الذاكرة الحقيقية لكل عملية بدقة أكبر من RSS (حجم المجموعة المقيم، إجمالي صفحات ذاكرة الوصول العشوائي الفعلية التي يتم تعيينها بواسطة عملية، بما في ذلك الصفحات المشتركة مع عمليات أخرى):

git clone https://github.com/csimmonds/procrank_linux.git
cd procrank_linux && make
sudo ./procrank

لرؤية تخصيصات GPU و NvMap (خط أنابيب CUDA/الفيديو) لكل عملية:

sudo cat /sys/kernel/debug/nvmap/iovmm/clients

Link to this sectionتشغيل الاستدلال بدون شاشة في الإنتاج#

بالنسبة لخطوط أنابيب الاستدلال التي ليس لديها متطلبات معاينة مباشرة، يمكن أن يؤدي تعطيل المكونات المتعلقة بالعرض (Tiler، OSD، DisplaySink) إلى توفير أكثر من 200 ميجابايت من خط الأنابيب وحده. مع Ultralytics YOLO، قم بقمع العارض واكتب النتائج على القرص بدلاً من ذلك:

مثال
from ultralytics import YOLO

model = YOLO("yolo11n.engine")

# show=False prevents any display window; save=True writes annotated output to disk
results = model.predict(source="video.mp4", show=False, save=True)

Link to this sectionالتأثير التراكمي#

التحسينالذاكرة الموفرة تقريبًا
تعطيل واجهة سطح المكتب الرسومية~865 ميجابايت
تعطيل خدمات نظام التشغيل غير المستخدمة~32 ميجابايت
خط أنابيب استدلال بدون رأس (بدون شاشة)~200+ ميجابايت
الإجمالي (مكاسب سهلة)~1 جيجابايت+

الجمع بين هذه التغييرات قيم بشكل خاص عند استهداف نماذج TensorRT INT8 على الأجهزة ذات الذاكرة المحدودة - يمكن أن يكون الفارق بين القدرة على استيعاب متغير نموذج أكبر في الذاكرة أم لا.

Link to this sectionالخطوات التالية#

لمزيد من التعلم والدعم، راجع وثائق Ultralytics YOLO26.

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

Link to this sectionكيف يمكنني نشر Ultralytics YOLO26 على أجهزة NVIDIA Jetson؟#

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

Link to this sectionما هي مقاييس الأداء التي يمكنني توقعها من نماذج YOLO11 على أجهزة NVIDIA Jetson؟#

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

Link to this sectionلماذا يجب أن أستخدم TensorRT لنشر YOLO26 على NVIDIA Jetson؟#

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

Link to this sectionكيف يمكنني تثبيت PyTorch وTorchvision على NVIDIA Jetson؟#

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

Link to this sectionما هي أفضل الممارسات لتحقيق أقصى قدر من الأداء على NVIDIA Jetson عند استخدام YOLO26؟#

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

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

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

Link to this sectionكيف يمكنني تحرير الذاكرة على NVIDIA Jetson لتشغيل نماذج YOLO أكبر؟#

غالباً ما تكون ذاكرة الوصول العشوائي (RAM) المتاحة هي عنق الزجاجة في أجهزة Jetson ذات الذاكرة الأقل. ثلاث خطوات سهلة يمكنها مجتمعة استعادة أكثر من 1 جيجابايت:

  1. التبديل إلى الإقلاع بدون واجهة رسومية (headless boot) (sudo systemctl set-default multi-user.target) لإلغاء واجهة المستخدم الرسومية لسطح المكتب (~865 ميجابايت موفرة).
  2. تعطيل الخدمات غير المستخدمة مثل البلوتوث أو مديري الاتصال (~32 ميجابايت موفرة).
  3. تشغيل الاستدلال بدون شاشة عن طريق ضبط show=False في استدعاء predict الخاص بـ YOLO، مما يتجنب تخصيص ذاكرة خط أنابيب العرض (~200+ ميجابايت موفرة).

استخدم procrank لتحليل استخدام ذاكرة الوصول العشوائي لكل عملية واستخدم sudo cat /sys/kernel/debug/nvmap/iovmm/clients لفحص تخصيصات GPU. راجع قسم نصائح تحسين الذاكرة للحصول على التفاصيل الكاملة.

Link to this sectionلماذا يقوم تصدير TensorRT INT8 الخاص بي بتعطيل end2end على JetPack 6؟#

يحتوي TensorRT 10.3.0 المشحون مع JetPack 6 على مشكلة معروفة تمنع بناء محركات INT8 عند تمكين end2end=True. عندما تكتشف Ultralytics هذا المزيج، فإنها تقوم تلقائياً بتعطيل فرع end2end لضمان نجاح التصدير.

لاستعادة صادرات end2end INT8، قم بترقية TensorRT إلى إصدار أحدث (على سبيل المثال، 10.7.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 install -y tensorrt

بعد الترقية، أعد تشغيل التصدير الخاص بك. لمزيد من التفاصيل، راجع مشكلة GitHub رقم 23841.

التعليقات