كيفية تشغيل Ultralytics YOLO26 على Raspberry Pi باستخدام Coral Edge TPU#
يُعد Raspberry Pi منصة موفرة للطاقة وبأسعار معقولة لتشغيل الرؤية الحاسوبية على الحافة، لكن الاستدلال على الجهاز بطيء حتى مع التنسيقات المحسّنة مثل ONNX أو OpenVINO. يؤدي إقران Pi بمعالج Coral Edge TPU مشترك إلى تفريغ الاستدلال إلى أجهزة مخصصة وتسريعه بدرجة كبيرة. يوضح هذا الدليل كيفية تثبيت وقت التشغيل، وتصدير نموذج Ultralytics YOLO26 إلى تنسيق Edge TPU، وتشغيل الاستدلال المُسرَّع.
Watch: How to Run Inference on Raspberry Pi using Google Coral Edge TPU
لماذا تستخدم Coral Edge TPU؟#
جهاز Coral Edge TPU هو جهاز مدمج يضيف معالج Edge TPU مشتركًا إلى نظامك، ما يتيح استدلالًا منخفض الطاقة وعالي الأداء لنماذج TensorFlow Lite. وهو مناسب جدًا لعمليات النشر المضمنة والمتنقلة التي لا يستطيع فيها CPU وحده مواكبة الأداء:
- استدلال أسرع — يعمل Edge TPU على تسريع النماذج المُكمَّمة بما يتجاوز كثيرًا ما يحققه CPU في Raspberry Pi بمفرده.
- استهلاك منخفض للطاقة — يوفر معدل نقل بيانات مرتفعًا لكل واط، ما يجعله مثاليًا لعمليات النشر التي تعمل بالبطاريات أو بالطاقة الشمسية.
- التوصيل والتشغيل — يتصل USB Accelerator عبر USB 3.0، لذا لا حاجة إلى دمج أجهزة إضافية.
إن دليل Coral الرسمي قديم: فلم تعد إصدارات بناء وقت تشغيل Coral الأصلي تعمل مع إصدارات وقت تشغيل TensorFlow Lite الحالية، ولم يشهد المشروع أي تحديثات بين عامي 2021 و2025. يستخدم هذا الدليل وقت تشغيل Edge TPU تتم صيانته بنشاط وأحدث إصدار من tflite-runtime، لكي يعمل المسرّع على تثبيت حالي لنظام Raspberry Pi OS.
المتطلبات الأساسية#
- Raspberry Pi 4B (يوصى بسعة 2GB أو أكثر) أو Raspberry Pi 5 (موصى به)
- Raspberry Pi OS Bullseye/Bookworm (إصدار 64-bit) مع سطح المكتب (موصى به)
- Coral USB Accelerator
- منصة غير ARM (مثل Google Colab أو جهاز Linux بمعمارية x86_64 أو حاوية Ultralytics Docker) لتصدير النموذج، لأن مترجم Edge TPU غير متاح على ARM
يفترض هذا الدليل أن لديك بالفعل تثبيتًا عاملًا لنظام Raspberry Pi OS مع تثبيت ultralytics وتبعياته. وإذا لم يكن الأمر كذلك، فاتبع دليل البدء السريع أولًا.
بعد تجهيز المتطلبات الأساسية، تتكون سير العمل من ثلاث خطوات: تثبيت وقت تشغيل Edge TPU على Pi، وتصدير نموذجك على جهاز غير ARM، ثم تشغيل الاستدلال مجددًا على Pi.
تثبيت وقت تشغيل Edge TPU#
يتوفر وقت التشغيل في عدة إصدارات، لذا اختر الإصدار المتوافق مع نظام التشغيل لديك. يعمل إصدار التردد العالي على تشغيل Edge TPU بسرعة ساعة أعلى لتحقيق أداء أفضل، لكنه قد يسبب خنقًا حراريًا — استخدم نوعًا من التبريد إذا اخترته.
| Raspberry Pi OS | وضع التردد العالي | الإصدار المطلوب تنزيله |
|---|---|---|
| Bullseye 32bit | لا | libedgetpu1-std_ ... .bullseye_armhf.deb |
| Bullseye 64bit | لا | libedgetpu1-std_ ... .bullseye_arm64.deb |
| Bullseye 32bit | نعم | libedgetpu1-max_ ... .bullseye_armhf.deb |
| Bullseye 64bit | نعم | libedgetpu1-max_ ... .bullseye_arm64.deb |
| Bookworm 32bit | لا | libedgetpu1-std_ ... .bookworm_armhf.deb |
| Bookworm 64bit | لا | libedgetpu1-std_ ... .bookworm_arm64.deb |
| Bookworm 32bit | نعم | libedgetpu1-max_ ... .bookworm_armhf.deb |
| Bookworm 64bit | نعم | libedgetpu1-max_ ... .bookworm_arm64.deb |
نزّل أحدث إصدار من هنا، ثم ثبّت حزمة .deb:
sudo dpkg -i path/to/package.debبعد تثبيت وقت التشغيل، وصّل Coral Edge TPU بمنفذ USB 3.0 في Raspberry Pi حتى تصبح قاعدة udev الجديدة سارية المفعول.
أزل أي وقت تشغيل موجود أولًا
إذا كان وقت تشغيل Coral Edge TPU مثبتًا لديك بالفعل، فأزله قبل تثبيت إصدار بناء جديد.
# If you installed the standard version
sudo apt remove libedgetpu1-std
# If you installed the high-frequency version
sudo apt remove libedgetpu1-maxتصدير نموذجك إلى تنسيق Edge TPU#
لاستخدام Edge TPU، حوّل نموذجك إلى تنسيق متوافق. نفّذ التصدير على منصة غير ARM — مثل Google Colab أو جهاز Linux بمعمارية x86_64 أو حاوية Ultralytics Docker الرسمية أو Ultralytics Platform — لأن مترجم Edge TPU غير متاح على ARM. راجع وضع التصدير لمعرفة الوسائط المتاحة.
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/model.pt") # Load an official model or custom model
# Export the model
model.export(format="edgetpu")يُحفظ النموذج المُصدَّر في مجلد <model_name>_saved_model/ باسم <model_name>_full_integer_quant_edgetpu.tflite.
يجب أن ينتهي اسم الملف بـ _edgetpu.tflite. إذا أعدت تسميته إلى أي شيء آخر، فسيحمّله Ultralytics كنموذج TensorFlow Lite عادي بدلًا من اكتشاف Edge TPU، ولن يُستخدم المسرّع.
تشغيل الاستدلال على Edge TPU#
قبل تشغيل النموذج، ثبّت المكتبات الصحيحة على Raspberry Pi. إذا كان TensorFlow مثبتًا بالفعل، فأزله أولًا:
pip uninstall tensorflow tensorflow-aarch64بعد ذلك ثبّت tflite-runtime أو حدّثه:
pip install -U tflite-runtimeيمكنك الآن تشغيل الاستدلال:
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png")يمكنك العثور على التفاصيل الكاملة لوضع التنبؤ في صفحة Predict.
إذا كانت لديك عدة وحدات Edge TPU، فيمكنك تحديد وحدة بعينها باستخدام الوسيط device.
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png") # Inference defaults to the first TPU
model.predict("path/to/source.png", device="tpu:0") # Select the first TPU
model.predict("path/to/source.png", device="tpu:1") # Select the second TPUالمعايير المرجعية#
قِيست الأرقام أدناه باستخدام Raspberry Pi OS Bookworm 64-bit وUSB Coral Edge TPU. وهي تعرض زمن الاستدلال فقط (مع استبعاد المعالجة المسبقة واللاحقة)، وتُستخدم مرجعًا نسبيًا للتسريع الذي يوفره Edge TPU عبر طرز Pi وأوضاعها.
سُجّلت هذه المعايير باستخدام نماذج YOLOv8. تختلف أزمنة الاستدلال المطلقة باختلاف إصدار النموذج وحجم الصورة، لكن زيادات السرعة النسبية بين طرز Pi وأوضاع الساعة تظل ثابتة.
| حجم الصورة | النموذج | زمن الاستدلال القياسي (ms) | زمن الاستدلال بالتردد العالي (ms) |
|---|---|---|---|
| 320 | YOLOv8n | 32.2 | 26.7 |
| 320 | YOLOv8s | 47.1 | 39.8 |
| 512 | YOLOv8n | 73.5 | 60.7 |
| 512 | YOLOv8s | 149.6 | 125.3 |
في المتوسط:
- يكون Raspberry Pi 5 أسرع بنسبة 22% في الوضع القياسي من Raspberry Pi 4B.
- يكون Raspberry Pi 5 أسرع بنسبة 30.2% في وضع التردد العالي من Raspberry Pi 4B.
- يكون وضع التردد العالي أسرع بنسبة 28.4% من الوضع القياسي.
الخلاصة#
يحوّل Coral Edge TPU جهاز Raspberry Pi إلى جهاز استدلال قادر ومنخفض الطاقة لتشغيل Ultralytics YOLO26. صدّر نموذجك على جهاز غير ARM، وحافظ على اللاحقة _edgetpu.tflite، وشغّله باستخدام tflite-runtime على Pi للحصول على استدلال مُسرَّع على الحافة. لمزيد من خيارات النشر، راجع دليل Raspberry Pi.
الأسئلة الشائعة#
جهاز Coral Edge TPU هو جهاز مدمج يضيف معالج Edge TPU مشتركًا إلى نظامك. يتيح هذا المعالج استدلالًا منخفض الطاقة وعالي الأداء، ومحسّنًا خصوصًا لنماذج TensorFlow Lite. وعلى Raspberry Pi، يسرّع الاستدلال بما يتجاوز كثيرًا ما يحققه CPU بمفرده، ما يعزز أداء نماذج Ultralytics YOLO26 بدرجة كبيرة.
نزّل حزمة
.debالمناسبة لإصدار Raspberry Pi OS لديك من هذا الرابط، ثم ثبّتها:sudo dpkg -i path/to/package.debاحرص على إزالة أي إصدارات سابقة من وقت تشغيل Coral Edge TPU باتباع الخطوات الواردة في قسم تثبيت وقت تشغيل Edge TPU.
نعم. نفّذ التصدير على Google Colab أو جهاز Linux بمعمارية x86_64 أو حاوية Ultralytics Docker؛ ويمكنك أيضًا استخدام Ultralytics Platform. إليك كيفية التصدير باستخدام Python وCLI:
تصدير النموذجfrom ultralytics import YOLO # Load a model model = YOLO("path/to/model.pt") # Load an official model or custom model # Export the model model.export(format="edgetpu")لمزيد من المعلومات، راجع وثائق وضع التصدير.
إذا كان TensorFlow مثبتًا لديك وتحتاج إلى التبديل إلى
tflite-runtime، فأزل TensorFlow أولًا:pip uninstall tensorflow tensorflow-aarch64بعد ذلك ثبّت
tflite-runtimeأو حدّثه:pip install -U tflite-runtimeللحصول على إرشادات مفصلة، راجع قسم تشغيل الاستدلال على Edge TPU.
بعد تصدير نموذج YOLO26 إلى تنسيق متوافق مع Edge TPU، شغّل الاستدلال باستخدام المقاطع البرمجية التالية. يجب أن يحافظ ملف النموذج على اللاحقة
_edgetpu.tfliteحتى يحمّله Ultralytics على Edge TPU:تشغيل النموذجfrom ultralytics import YOLO # Load a model model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Load an official model or custom model # Run Prediction model.predict("path/to/source.png")تتوفر التفاصيل الشاملة حول وضع التنبؤ في صفحة Predict.