دليل البدء السريع: 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 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.
- إذا كنت تمتلك مجموعة تطوير NVIDIA الرسمية مثل Jetson Orin Nano Developer Kit، فيمكنك تنزيل صورة وإعداد بطاقة SD باستخدام JetPack لتمهيد الجهاز.
- إذا كنت تمتلك أي مجموعة تطوير NVIDIA أخرى، فيمكنك تثبيت JetPack على الجهاز باستخدام SDK Manager.
- إذا كنت تمتلك جهاز Seeed Studio reComputer J4012، فيمكنك تثبيت JetPack على SSD المضمن وإذا كنت تمتلك جهاز Seeed Studio reComputer J1020 v2، فيمكنك تثبيت JetPack على eMMC/ SSD.
- إذا كنت تمتلك أي جهاز تابع لجهة خارجية مدعوم بوحدة 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.
-
تحديث قائمة الحزم وتثبيت pip والترقية إلى الأحدث
sudo apt update sudo apt install python3-pip -y pip install -U pip
-
تثبيت
ultralytics
حزمة pip مع تبعيات اختياريةpip install ultralytics[export]
-
أعد تشغيل الجهاز
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.
-
تحديث قائمة الحزم وتثبيت pip والترقية إلى الأحدث
sudo apt update sudo apt install python3-pip -y pip install -U pip
-
تثبيت
ultralytics
حزمة pip مع تبعيات اختياريةpip install ultralytics[export]
-
أعد تشغيل الجهاز
sudo reboot
تثبيت PyTorch و Torchvision
سيؤدي تثبيت Ultralytics أعلاه إلى تثبيت Torch و Torchvision. ومع ذلك، فإن هاتين الحزمتين المثبتتين عبر pip غير متوافقتين للتشغيل على نظام Jetson الأساسي المستند إلى بنية ARM64. لذلك، نحتاج إلى تثبيت عجلة PyTorch pip مسبقة الصنع وتجميع/تثبيت Torchvision من المصدر يدويًا.
-
إلغاء تثبيت PyTorch و Torchvision المثبتين حاليًا
pip uninstall torch torchvision
-
تثبيت
torch 2.2.0
وtorchvision 0.17.2
وفقًا لـ JP5.1.2pip 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 جيجابايت)

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

NVIDIA Jetson Orin NX 16GB

جداول مقارنة تفصيلية
يمثل الجدول أدناه نتائج المقارنة المعيارية لخمسة نماذج مختلفة (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.
-
تمكين وضع الطاقة القصوى
سيضمن تمكين وضع الطاقة القصوى على Jetson تشغيل جميع نوى CPU و GPU.
sudo nvpmodel -m 0
-
تمكين ساعات Jetson
سيضمن تمكين ساعات Jetson أن يتم ضبط جميع نوى CPU و GPU على أقصى تردد لها.
sudo jetson_clocks
-
تثبيت تطبيق Jetson Stats
يمكننا استخدام تطبيق إحصائيات jetson لمراقبة درجات حرارة مكونات النظام والتحقق من تفاصيل النظام الأخرى مثل عرض وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU) واستخدام ذاكرة الوصول العشوائي (RAM) وتغيير أوضاع الطاقة والتعيين إلى الحد الأقصى للساعات والتحقق من معلومات JetPack.
sudo apt update sudo pip install jetson-stats sudo reboot jtop
كيف يمكنني تدريب 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، اتبع أفضل الممارسات التالية:
- تمكين وضع الطاقة القصوى لاستخدام جميع نوى CPU و GPU.
- تمكين ساعات Jetson لتشغيل جميع النوى بأقصى تردد لها.
- قم بتثبيت تطبيق Jetson Stats لمراقبة مقاييس النظام.
للحصول على الأوامر والتفاصيل الإضافية، راجع قسم أفضل الممارسات عند استخدام NVIDIA Jetson.