Ultralytics YOLO27:
Get Started

كيفية تشغيل 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، وتشغيل الاستدلال المسرّع.



شاهد: كيفية تنفيذ الاستدلال على Raspberry Pi باستخدام Google Coral Edge TPU

لماذا تستخدم Coral Edge TPU؟#

Coral Edge TPU جهاز صغير الحجم يضيف معالج Edge TPU مساعدًا إلى نظامك، ما يتيح استدلال تعلّم آلي منخفض الطاقة وعالي الأداء لنماذج TensorFlow Lite. وهو خيار مناسب جدًا لعمليات النشر المضمنة والمتنقلة التي لا يستطيع فيها CPU وحده مواكبة المتطلبات:

  • استدلال أسرع — يسرّع Edge TPU النماذج المكمّمة بدرجة تفوق بكثير أداء CPU في Raspberry Pi بمفرده.
  • استهلاك منخفض للطاقة — يوفر معدل نقل عالٍ لكل واط، ما يجعله مثاليًا لعمليات النشر التي تعمل بالبطاريات أو بالطاقة الشمسية.
  • التوصيل والتشغيل — يتصل مسرّع USB عبر USB 3.0، لذا لا حاجة إلى دمج أجهزة إضافية.
بيئة تشغيل محدّثة للإصدار الحالي من TensorFlow Lite

دليل 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
  • منصة Linux بمعمارية x86_64 (Google Colab، أو جهاز Linux بمعمارية x86_64، أو حاوية Docker من Ultralytics على مضيف بمعمارية x86_64) لتصدير النموذج، إذ لا يتوفر مُصرّف Edge TPU إلا على Linux بمعمارية x86_64

يفترض هذا الدليل أن لديك تثبيتًا عاملًا لنظام Raspberry Pi OS مع تثبيت ultralytics وتبعياته. إن لم يكن الأمر كذلك، فاتبع دليل البدء السريع أولًا.

بعد تجهيز المتطلبات الأساسية، يتكوّن سير العمل من ثلاث خطوات: تثبيت بيئة تشغيل Edge TPU على Pi، وتصدير النموذج على جهاز Linux بمعمارية x86_64، ثم تشغيل الاستدلال مجددًا على 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، حوّل النموذج إلى تنسيق متوافق. نفّذ التصدير على Linux بمعمارية x86_64 — باستخدام Google Colab، أو جهاز Linux بمعمارية x86_64، أو حاوية Docker الرسمية من Ultralytics على مضيف بمعمارية x86_64، أو منصة Ultralytics — إذ لا يتوفر مُصرّف Edge TPU إلا على Linux بمعمارية x86_64. راجع وضع التصدير للاطلاع على الوسائط المتاحة.

تصدير النموذج
from ultralytics import YOLO

# ⁨تحميل نموذج⁩
model = YOLO("path/to/model.pt")  # ⁨حمّل نموذجًا رسميًا أو نموذجًا مخصصًا⁩

# ⁨صدّر النموذج⁩
model.export(format="edgetpu")

يُحفظ النموذج المُصدّر في المجلد <model_name>_saved_model/ باسم <model_name>_full_integer_quant_edgetpu.tflite.

احتفظ باللاحقة `_edgetpu.tflite`

يجب أن ينتهي اسم الملف بـ _edgetpu.tflite. إذا أعدت تسميته إلى اسم آخر، فسيحمّله Ultralytics كنموذج LiteRT عادي (.tflite) بدلًا من اكتشاف Edge TPU، ولن يُستخدم المسرّع.

تشغيل الاستدلال على Edge TPU#

قبل تشغيل النموذج، ثبّت المكتبات المناسبة على Raspberry Pi. إذا كان TensorFlow مثبتًا بالفعل، فأزل تثبيته أولًا:

pip uninstall tensorflow tensorflow-aarch64

ثم ثبّت tflite-runtime أو حدّثه:

pip install -U tflite-runtime

يمكنك الآن تشغيل الاستدلال:

تشغيل النموذج
from ultralytics import YOLO

# ⁨تحميل نموذج⁩
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # ⁨حمّل نموذجًا رسميًا أو نموذجًا مخصصًا⁩

# ⁨تشغيل التنبؤ⁩
model.predict("path/to/source.png")

اعثر على التفاصيل الكاملة لوضع التنبؤ في صفحة التنبؤ.

الاستدلال باستخدام وحدات Edge TPU متعددة

إذا كان لديك أكثر من وحدة Edge TPU، يمكنك اختيار وحدة محددة باستخدام الوسيط device.

from ultralytics import YOLO

# ⁨تحميل نموذج⁩
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # ⁨حمّل نموذجًا رسميًا أو نموذجًا مخصصًا⁩

# ⁨تشغيل التنبؤ⁩
model.predict("path/to/source.png")  # ⁨يستخدم الاستدلال الوحدة TPU الأولى افتراضيًا⁩

model.predict("path/to/source.png", device="tpu:0")  # ⁨اختيار الوحدة TPU الأولى⁩

model.predict("path/to/source.png", device="tpu:1")  # ⁨اختيار الوحدة 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. صدّر النموذج على جهاز Linux بمعمارية x86_64، واحتفظ باللاحقة _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، أو باستخدام حاوية Docker من Ultralytics؛ ويمكنك أيضًا استخدام منصة Ultralytics. إليك كيفية التصدير باستخدام Python وCLI:

    تصدير النموذج
    from ultralytics import YOLO
    
    # ⁨تحميل نموذج⁩
    model = YOLO("path/to/model.pt")  # ⁨حمّل نموذجًا رسميًا أو نموذجًا مخصصًا⁩
    
    # ⁨صدّر النموذج⁩
    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
    
    # ⁨تحميل نموذج⁩
    model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # ⁨حمّل نموذجًا رسميًا أو نموذجًا مخصصًا⁩
    
    # ⁨تشغيل التنبؤ⁩
    model.predict("path/to/source.png")

    تجد التفاصيل الشاملة حول وضع التنبؤ في صفحة التنبؤ.

التعليقات