Ultralytics YOLO27:

كيفية تشغيل Ultralytics YOLO26 على Raspberry Pi باستخدام Coral Edge TPU#

Raspberry Pi with Edge TPU accelerator

يُعد 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، لذا لا حاجة إلى دمج أجهزة إضافية.
وقت تشغيل محدّث لـ TensorFlow Lite الحالي

إن دليل Coral الرسمي قديم: فلم تعد إصدارات بناء وقت تشغيل Coral الأصلي تعمل مع إصدارات وقت تشغيل TensorFlow Lite الحالية، ولم يشهد المشروع أي تحديثات بين عامي 2021 و2025. يستخدم هذا الدليل وقت تشغيل Edge TPU تتم صيانته بنشاط وأحدث إصدار من tflite-runtime، لكي يعمل المسرّع على تثبيت حالي لنظام Raspberry Pi OS.

المتطلبات الأساسية#

يفترض هذا الدليل أن لديك بالفعل تثبيتًا عاملًا لنظام 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`

يجب أن ينتهي اسم الملف بـ _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

إذا كانت لديك عدة وحدات 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)
320YOLOv8n32.226.7
320YOLOv8s47.139.8
512YOLOv8n73.560.7
512YOLOv8s149.6125.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.

التعليقات