Coral Edge TPU على Raspberry Pi مع Ultralytics YOLO26 🚀

Raspberry Pi with Edge TPU accelerator

ما هو Coral Edge TPU؟

جهاز Coral Edge TPU هو جهاز مدمج يضيف معالجاً مساعداً Edge TPU إلى نظامك. وهو يتيح استنتاج تعلم الآلة (ML) عالي الأداء ومنخفض استهلاك الطاقة لنماذج TensorFlow Lite. اقرأ المزيد على الصفحة الرئيسية لـ Coral Edge TPU.



Watch: How to Run Inference on Raspberry Pi using Google Coral Edge TPU

تعزيز أداء Raspberry Pi باستخدام Coral Edge TPU

يرغب الكثيرون في تشغيل نماذجهم على جهاز مدمج أو محمول مثل Raspberry Pi، نظراً لكفاءتها العالية في استهلاك الطاقة وقدرتها على الاستخدام في العديد من التطبيقات المختلفة. ومع ذلك، غالباً ما يكون أداء الاستنتاج على هذه الأجهزة ضعيفاً حتى عند استخدام تنسيقات مثل ONNX أو OpenVINO. يُعد Coral Edge TPU حلاً رائعاً لهذه المشكلة، حيث يمكن استخدامه مع Raspberry Pi لتسريع أداء الاستنتاج بشكل كبير.

Edge TPU على Raspberry Pi مع TensorFlow Lite (جديد)⭐

إن الدليل الحالي المقدم من Coral حول كيفية استخدام Edge TPU مع Raspberry Pi قديم، كما أن إصدارات وقت تشغيل Coral Edge TPU الحالية لم تعد تعمل مع إصدارات وقت تشغيل TensorFlow Lite الحالية. بالإضافة إلى ذلك، يبدو أن Google قد تخلت تماماً عن مشروع Coral، ولم تكن هناك أي تحديثات بين عامي 2021 و2025. سيوضح لك هذا الدليل كيفية تشغيل Edge TPU مع أحدث إصدارات وقت تشغيل TensorFlow Lite ووقت تشغيل Coral Edge TPU محدث على أجهزة الكمبيوتر ذات اللوحة الواحدة (SBC) من نوع Raspberry Pi.

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

دليل التثبيت

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

تثبيت وقت تشغيل Edge TPU

أولاً، نحتاج إلى تثبيت وقت تشغيل Edge TPU. تتوفر العديد من الإصدارات المختلفة، لذا يجب عليك اختيار الإصدار الصحيح لنظام التشغيل الخاص بك. يعمل الإصدار عالي التردد (high-frequency) على تشغيل Edge TPU بسرعة ساعة أعلى، مما يحسن الأداء. ومع ذلك، قد يؤدي ذلك إلى اختناق حراري لـ Edge TPU، لذا يوصى بوجود نوع من آلية التبريد.

نظام التشغيل Raspberry Pi OSوضع التردد العاليالإصدار المراد تنزيله
Bullseye 32-بتلاlibedgetpu1-std_ ... .bullseye_armhf.deb
Bullseye 64-بتلاlibedgetpu1-std_ ... .bullseye_arm64.deb
Bullseye 32-بتنعمlibedgetpu1-max_ ... .bullseye_armhf.deb
Bullseye 64-بتنعمlibedgetpu1-max_ ... .bullseye_arm64.deb
Bookworm 32-بتلاlibedgetpu1-std_ ... .bookworm_armhf.deb
Bookworm 64-بتلاlibedgetpu1-std_ ... .bookworm_arm64.deb
Bookworm 32-بتنعمlibedgetpu1-max_ ... .bookworm_armhf.deb
Bookworm 64-بتنعمlibedgetpu1-max_ ... .bookworm_arm64.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، تحتاج إلى تحويل نموذجك إلى تنسيق متوافق. يوصى بإجراء التصدير على Google Colab، أو جهاز Linux يعمل بنظام x86_64، باستخدام حاوية Ultralytics Docker الرسمية، أو باستخدام منصة Ultralytics، نظراً لأن مترجم 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 أنك تستخدم نموذج Edge TPU.

تشغيل النموذج

قبل أن تتمكن من تشغيل النموذج فعلياً، ستحتاج إلى تثبيت المكتبات الصحيحة.

إذا كان TensorFlow مثبتاً لديك بالفعل، فقم بإلغاء تثبيته باستخدام الأمر التالي:

pip uninstall tensorflow tensorflow-aarch64

ثم قم بتثبيت أو تحديث tflite-runtime:

pip install -U tflite-runtime

الآن يمكنك تشغيل الاستنتاج باستخدام الكود التالي:

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

# Load a model
model = YOLO("path/to/<model_name>_full_integer_quant_edgetpu.tflite")  # Load an official model or custom model

# Run Prediction
model.predict("path/to/source.png")

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

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

إذا كان لديك وحدات Edge TPU متعددة، يمكنك استخدام الكود التالي لتحديد وحدة TPU معينة.

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/<model_name>_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-بت وUSB Coral Edge TPU.

ملاحظة

يظهر هنا وقت الاستنتاج، ولا يتم تضمين المعالجة الأولية/اللاحقة.

حجم الصورةالنموذجوقت الاستنتاج القياسي (مللي ثانية)وقت الاستنتاج عالي التردد (مللي ثانية)
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؟

جهاز Coral Edge TPU هو جهاز مدمج مصمم لإضافة معالج مساعد Edge TPU إلى نظامك. يتيح هذا المعالج المساعد استنتاج تعلم الآلة عالي الأداء ومنخفض استهلاك الطاقة، وهو مُحسن خصيصاً لنماذج TensorFlow Lite. عند استخدام Raspberry Pi، يعمل Edge TPU على تسريع استنتاج نماذج ML، مما يعزز الأداء بشكل كبير، خاصة لنماذج Ultralytics YOLO26. يمكنك قراءة المزيد حول Coral Edge TPU على صفحتهم الرئيسية.

كيف يمكنني تثبيت وقت تشغيل Coral Edge TPU على Raspberry Pi؟

لتثبيت وقت تشغيل Coral Edge TPU على Raspberry Pi، قم بتنزيل حزمة .deb المناسبة لإصدار Raspberry Pi OS الخاص بك من هذا الرابط. بمجرد التنزيل، استخدم الأمر التالي لتثبيته:

sudo dpkg -i path/to/package.deb

تأكد من إلغاء تثبيت أي إصدارات سابقة من وقت تشغيل Coral Edge TPU باتباع الخطوات الموضحة في قسم دليل التثبيت.

هل يمكنني تصدير نموذج Ultralytics YOLO26 الخاص بي ليكون متوافقاً مع Coral Edge TPU؟

نعم، يمكنك تصدير نموذج Ultralytics YOLO26 ليكون متوافقاً مع Coral Edge TPU. يوصى بإجراء التصدير على Google Colab، أو جهاز Linux يعمل بنظام x86_64، أو باستخدام حاوية Ultralytics Docker. يمكنك أيضاً استخدام منصة Ultralytics للتصدير. إليك كيفية تصدير نموذجك باستخدام 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 مثبتاً بالفعل على Raspberry Pi، ولكنني أريد استخدام tflite-runtime بدلاً منه؟

إذا كان لديك TensorFlow مثبتاً على Raspberry Pi وتحتاج إلى التبديل إلى tflite-runtime، فستحتاج أولاً إلى إلغاء تثبيت TensorFlow باستخدام:

pip uninstall tensorflow tensorflow-aarch64

ثم قم بتثبيت أو تحديث tflite-runtime باستخدام الأمر التالي:

pip install -U tflite-runtime

للحصول على تعليمات مفصلة، راجع قسم تشغيل النموذج.

كيف أقوم بتشغيل الاستنتاج باستخدام نموذج YOLO26 مُصدر على Raspberry Pi باستخدام Coral Edge TPU؟

بعد تصدير نموذج YOLO26 إلى تنسيق متوافق مع Edge TPU، يمكنك تشغيل الاستنتاج باستخدام مقتطفات الكود التالية:

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

# Load a model
model = YOLO("path/to/edgetpu_model.tflite")  # Load an official model or custom model

# Run Prediction
model.predict("path/to/source.png")

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

التعليقات