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

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

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

دعم منتج جديد

لقد قمنا بتحديث هذا الدليل بأحدث NVIDIA Jetson Orin Nano Super Developer Kit الذي يوفر ما يصل إلى 67 TOPS من أداء الذكاء الاصطناعي - وهو تحسن بمقدار 1.7X عن سابقه - لتشغيل نماذج الذكاء الاصطناعي الأكثر شيوعًا بسلاسة.



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

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

ملاحظة

تم اختبار هذا الدليل باستخدام 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 بما في ذلك الأحدث والقديم.

ما هو NVIDIA Jetson؟

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

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

Jetson Orin هي أحدث تكرار لعائلة NVIDIA Jetson استنادًا إلى بنية NVIDIA Ampere التي تجلب أداءً محسنًا بشكل كبير للذكاء الاصطناعي مقارنةً بالأجيال السابقة. يقارن الجدول أدناه عددًا قليلاً من أجهزة Jetson في النظام البيئي.

Jetson AGX Orin 64GB Jetson Orin NX 16GB Jetson Orin Nano Super Jetson AGX Xavier Jetson Xavier NX Jetson Nano
أداء الذكاء الاصطناعي 275 TOPS 100 TOPS 67 TOPs 32 TOPS 21 TOPS 472 جيجا فلوبس
GPU وحدة معالجة الرسوميات (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 نواة
التردد الأقصى لوحدة معالجة الرسوميات GPU 1.3 جيجاهرتز 918 ميجاهرتز 1020 ميجاهرتز 1377 ميجاهرتز 1100 ميجاهرتز 921 ميجاهرتز
وحدة المعالجة المركزية (CPU) وحدة معالجة مركزية 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.2 جيجاهرتز 2.0 جيجاهرتز 1.7 جيجاهرتز 2.2 جيجاهرتز 1.9 جيجاهرتز 1.43 جيجاهرتز
الذاكرة ذاكرة وصول عشوائي 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 جيجابايت/ثانية ذاكرة وصول عشوائي LPDDR4 بسعة 4 جيجابايت و 64 بت بسرعة 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 Orin Nano Developer Kit، فيمكنك تنزيل صورة وإعداد بطاقة SD باستخدام JetPack لتمهيد الجهاز.
  2. إذا كنت تمتلك أي مجموعة تطوير NVIDIA أخرى، فيمكنك تثبيت JetPack على الجهاز باستخدام SDK Manager.
  3. إذا كنت تمتلك جهاز Seeed Studio reComputer J4012، فيمكنك تثبيت JetPack على SSD المضمن وإذا كنت تمتلك جهاز Seeed Studio reComputer J1020 v2، فيمكنك تثبيت JetPack على eMMC/ SSD.
  4. إذا كنت تمتلك أي جهاز تابع لجهة خارجية مدعوم بوحدة NVIDIA Jetson، فمن المستحسن اتباع وميض سطر الأوامر.

ملاحظة

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

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

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

JetPack 4 JetPack 5 JetPack 6
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 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 pip مسبقة الصنع وتجميع/تثبيت 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 pip مسبقة الصنع وتجميع/تثبيت 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 Orin 2 1.6 غيغاهرتز
Jetson Orin NX 16GB 2 614 ميغاهرتز
Jetson Orin NX 8GB 1 614 ميغاهرتز
سلسلة Jetson AGX Xavier 2 1.4 غيغاهرتز
سلسلة Jetson Xavier NX 2 1.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 Orin YOLO11

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

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

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

مجموعة تطوير 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 و YOLO11s و YOLO11m و YOLO11l و YOLO11x) عبر عشرة تنسيقات مختلفة (PyTorch و TorchScript و ONNX و OpenVINO و TensorRT و TF SavedModel و TF GraphDef و TF Lite و MNN و NCNN)، مما يمنحنا الحالة والحجم ومقياس mAP50-95(B) ووقت الاستدلال لكل تركيبة.

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

الأداء

التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 5.4 0.5101 9.40
TorchScript 10.5 0.5083 11.00
ONNX 10.2 0.5077 48.32
OpenVINO 10.4 0.5058 27.24
TensorRT ‏(FP32) 12.1 0.5085 3.93
TensorRT ‏(FP16) 8.3 0.5063 2.55
TensorRT ‏(INT8) 5.4 0.4719 2.18
TF SavedModel 25.9 0.5077 66.87
TF GraphDef 10.3 0.5077 65.68
TF Lite 10.3 0.5077 272.92
MNN 10.1 0.5059 36.33
NCNN 10.2 0.5031 28.51
التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 18.4 0.5783 12.10
TorchScript 36.5 0.5782 11.01
ONNX 36.3 0.5782 107.54
OpenVINO 36.4 0.5810 55.03
TensorRT ‏(FP32) 38.1 0.5781 6.52
TensorRT ‏(FP16) 21.4 0.5803 3.65
TensorRT ‏(INT8) 12.1 0.5735 2.81
TF SavedModel 91.0 0.5782 132.73
TF GraphDef 36.4 0.5782 134.96
TF Lite 36.3 0.5782 798.21
MNN 36.2 0.5777 82.35
NCNN 36.2 0.5784 56.07
التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 38.8 0.6265 22.20
TorchScript 77.3 0.6307 21.47
ONNX 76.9 0.6307 270.89
OpenVINO 77.1 0.6284 129.10
TensorRT ‏(FP32) 78.8 0.6306 12.53
TensorRT ‏(FP16) 41.9 0.6305 6.25
TensorRT ‏(INT8) 23.2 0.6291 4.69
TF SavedModel 192.7 0.6307 299.95
TF GraphDef 77.1 0.6307 310.58
TF Lite 77.0 0.6307 2400.54
MNN 76.8 0.6308 213.56
NCNN 76.8 0.6284 141.18
التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 49.0 0.6364 27.70
TorchScript 97.6 0.6399 27.94
ONNX 97.0 0.6409 345.47
OpenVINO 97.3 0.6378 161.93
TensorRT ‏(FP32) 99.1 0.6406 16.11
TensorRT ‏(FP16) 52.6 0.6376 8.08
TensorRT ‏(INT8) 30.8 0.6208 6.12
TF SavedModel 243.1 0.6409 390.78
TF GraphDef 97.2 0.6409 398.76
TF Lite 97.1 0.6409 3037.05
MNN 96.9 0.6372 265.46
NCNN 96.9 0.6364 179.68
التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 109.3 0.7005 44.40
TorchScript 218.1 0.6898 47.49
ONNX 217.5 0.6900 682.98
OpenVINO 217.8 0.6876 298.15
TensorRT ‏(FP32) 219.6 0.6904 28.50
TensorRT ‏(FP16) 112.2 0.6887 13.55
TensorRT ‏(INT8) 60.0 0.6574 9.40
TF SavedModel 544.3 0.6900 749.85
TF GraphDef 217.7 0.6900 753.86
TF Lite 217.6 0.6900 6603.27
MNN 217.3 0.6868 519.77
NCNN 217.3 0.6849 298.58

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

ملاحظة

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

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

الأداء

التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 5.4 0.5101 13.70
TorchScript 10.5 0.5082 13.69
ONNX 10.2 0.5081 14.47
OpenVINO 10.4 0.5058 56.66
TensorRT ‏(FP32) 12.0 0.5081 7.44
TensorRT ‏(FP16) 8.2 0.5061 4.53
TensorRT ‏(INT8) 5.4 0.4825 3.70
TF SavedModel 25.9 0.5077 116.23
TF GraphDef 10.3 0.5077 114.92
TF Lite 10.3 0.5077 340.75
MNN 10.1 0.5059 76.26
NCNN 10.2 0.5031 45.03
التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 18.4 0.5790 20.90
TorchScript 36.5 0.5781 21.22
ONNX 36.3 0.5781 25.07
OpenVINO 36.4 0.5810 122.98
TensorRT ‏(FP32) 37.9 0.5783 13.02
TensorRT ‏(FP16) 21.8 0.5779 6.93
TensorRT ‏(INT8) 12.2 0.5735 5.08
TF SavedModel 91.0 0.5782 250.65
TF GraphDef 36.4 0.5782 252.69
TF Lite 36.3 0.5782 998.68
MNN 36.2 0.5781 188.01
NCNN 36.2 0.5784 101.37
التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 38.8 0.6266 46.50
TorchScript 77.3 0.6307 47.95
ONNX 76.9 0.6307 53.06
OpenVINO 77.1 0.6284 301.63
TensorRT ‏(FP32) 78.8 0.6305 27.86
TensorRT ‏(FP16) 41.7 0.6309 13.50
TensorRT ‏(INT8) 23.2 0.6291 9.12
TF SavedModel 192.7 0.6307 622.24
TF GraphDef 77.1 0.6307 628.74
TF Lite 77.0 0.6307 2997.93
MNN 76.8 0.6299 509.96
NCNN 76.8 0.6284 292.99
التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 49.0 0.6364 56.50
TorchScript 97.6 0.6409 62.51
ONNX 97.0 0.6399 68.35
OpenVINO 97.3 0.6378 376.03
TensorRT ‏(FP32) 99.2 0.6396 35.59
TensorRT ‏(FP16) 52.1 0.6361 17.48
TensorRT ‏(INT8) 30.9 0.6207 11.87
TF SavedModel 243.1 0.6409 807.47
TF GraphDef 97.2 0.6409 822.88
TF Lite 97.1 0.6409 3792.23
MNN 96.9 0.6372 631.16
NCNN 96.9 0.6364 350.46
التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 109.3 0.7005 90.00
TorchScript 218.1 0.6901 113.40
ONNX 217.5 0.6901 122.94
OpenVINO 217.8 0.6876 713.1
TensorRT ‏(FP32) 219.5 0.6904 66.93
TensorRT ‏(FP16) 112.2 0.6892 32.58
TensorRT ‏(INT8) 61.5 0.6612 19.90
TF SavedModel 544.3 0.6900 1605.4
TF GraphDef 217.8 0.6900 2961.8
TF Lite 217.6 0.6900 8234.86
MNN 217.3 0.6893 1254.18
NCNN 217.3 0.6849 725.50

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

ملاحظة

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

NVIDIA Jetson Orin NX 16GB

الأداء

التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 5.4 0.5101 12.90
TorchScript 10.5 0.5082 13.17
ONNX 10.2 0.5081 15.43
OpenVINO 10.4 0.5058 39.80
TensorRT ‏(FP32) 11.8 0.5081 7.94
TensorRT ‏(FP16) 8.1 0.5085 4.73
TensorRT ‏(INT8) 5.4 0.4786 3.90
TF SavedModel 25.9 0.5077 88.48
TF GraphDef 10.3 0.5077 86.67
TF Lite 10.3 0.5077 302.55
MNN 10.1 0.5059 52.73
NCNN 10.2 0.5031 32.04
التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 18.4 0.5790 21.70
TorchScript 36.5 0.5781 22.71
ONNX 36.3 0.5781 26.49
OpenVINO 36.4 0.5810 84.73
TensorRT ‏(FP32) 37.8 0.5783 13.77
TensorRT ‏(FP16) 21.2 0.5796 7.31
TensorRT ‏(INT8) 12.0 0.5735 5.33
TF SavedModel 91.0 0.5782 185.06
TF GraphDef 36.4 0.5782 186.45
TF Lite 36.3 0.5782 882.58
MNN 36.2 0.5775 126.36
NCNN 36.2 0.5784 66.73
التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 38.8 0.6266 45.00
TorchScript 77.3 0.6307 51.87
ONNX 76.9 0.6307 56.00
OpenVINO 77.1 0.6284 202.69
TensorRT ‏(FP32) 78.7 0.6305 30.38
TensorRT ‏(FP16) 41.8 0.6302 14.48
TensorRT ‏(INT8) 23.2 0.6291 9.74
TF SavedModel 192.7 0.6307 445.58
TF GraphDef 77.1 0.6307 460.94
TF Lite 77.0 0.6307 2653.65
MNN 76.8 0.6308 339.38
NCNN 76.8 0.6284 187.64
التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 49.0 0.6364 56.60
TorchScript 97.6 0.6409 66.72
ONNX 97.0 0.6399 71.92
OpenVINO 97.3 0.6378 254.17
TensorRT ‏(FP32) 99.2 0.6406 38.89
TensorRT ‏(FP16) 51.9 0.6363 18.59
TensorRT ‏(INT8) 30.9 0.6207 12.60
TF SavedModel 243.1 0.6409 575.98
TF GraphDef 97.2 0.6409 583.79
TF Lite 97.1 0.6409 3353.41
MNN 96.9 0.6367 421.33
NCNN 96.9 0.6364 228.26
التنسيق الحالة الحجم على القرص (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
PyTorch 109.3 0.7005 98.50
TorchScript 218.1 0.6901 123.03
ONNX 217.5 0.6901 129.55
OpenVINO 217.8 0.6876 483.44
TensorRT ‏(FP32) 219.6 0.6904 75.92
TensorRT ‏(FP16) 112.1 0.6885 35.78
TensorRT ‏(INT8) 61.6 0.6592 21.60
TF SavedModel 544.3 0.6900 1120.43
TF GraphDef 217.7 0.6900 1172.35
TF Lite 217.6 0.6900 7283.63
MNN 217.3 0.6877 840.16
NCNN 217.3 0.6849 474.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.



📅 أُنشئ منذ سنة واحدة ✏️ تم التحديث منذ 26 يومًا

تعليقات