انتقل إلى المحتوى

كورال إيدج TPU على راسبيري باي مع Ultralytics YOLOv8 🚀

كمبيوتر Raspberry Pi أحادي اللوحة مزود بحافة USB TPU مسرع

ما هي حافة المرجان TPU?

ذا كورال إيدج TPU هو جهاز مدمج يضيف حافة TPU المعالج المساعد لنظامك. إنه يتيح استدلال ML منخفض الطاقة وعالي الأداء ل TensorFlow نماذج لايت. اقرأ المزيد في كورال إيدج TPU الصفحة الرئيسية.

تعزيز أداء نموذج راسبيري باي مع حافة المرجان TPU

يرغب العديد من الأشخاص في تشغيل نماذجهم على جهاز مضمن أو محمول مثل Raspberry Pi ، نظرا لأنها موفرة للطاقة للغاية ويمكن استخدامها في العديد من التطبيقات المختلفة. ومع ذلك ، فإن أداء الاستدلال على هذه الأجهزة عادة ما يكون ضعيفا حتى عند استخدام تنسيقات مثل onnx أو openvino. ذا كورال إيدج TPU هو حل رائع لهذه المشكلة ، حيث يمكن استخدامه مع Raspberry Pi وتسريع أداء الاستدلال بشكل كبير.

حافة TPU على راسبيري باي مع TensorFlow لايت (جديد) ⭐

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

المتطلبات المسبقه

إرشادات التثبيت

يفترض هذا الدليل أن لديك بالفعل تثبيت نظام تشغيل Raspberry Pi يعمل وقمت بتثبيته ultralytics وجميع التبعيات. للحصول على ultralytics مثبتا ، قم بزيارة دليل التشغيل السريع للحصول على الإعداد قبل المتابعة هنا.

تثبيت الحافة TPU وقت التشغيل

أولا ، نحتاج إلى تثبيت Edge TPU وقت التشغيل. هناك العديد من الإصدارات المختلفة المتاحة ، لذلك تحتاج إلى اختيار الإصدار المناسب لنظام التشغيل الخاص بك.

راسبيري باي OS وضع التردد العالي نسخة للتحميل
بولسي 32 بت لا libedgetpu1-std_ ... .bullseye_armhf.deb
بولسي 64 بت لا libedgetpu1-std_ ... .bullseye_arm64.deb
بولسي 32 بت نعم libedgetpu1-max_ ... .bullseye_armhf.deb
بولسي 64 بت نعم libedgetpu1-max_ ... .bullseye_arm64.deb
دودة الكتب 32 بت لا libedgetpu1-std_ ... .bookworm_armhf.deb
دودة الكتب 64 بت لا libedgetpu1-std_ ... .bookworm_arm64.deb
دودة الكتب 32 بت نعم libedgetpu1-max_ ... .bookworm_armhf.deb
دودة الكتب 64 بت نعم libedgetpu1-max_ ... .bookworm_arm64.deb

قم بتنزيل أحدث إصدار من هنا.

بعد تنزيل الملف ، يمكنك تثبيته بالأمر التالي:

sudo dpkg -i path/to/package.deb

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

مهم

إذا كان لديك بالفعل كورال إيدج 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، أو على جهاز لينكس x86_64، أو باستخدام حاوية Docker الرسمية Ultralytics Docker، أو باستخدام Ultralytics HUB، نظرًا لأن مترجم 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")
yolo export model=path/to/model.pt format=edgetpu  # Export an official model or custom model

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

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

بعد تصدير النموذج الخاص بك ، يمكنك تشغيل الاستدلال معه باستخدام التعليمة البرمجية التالية:

تشغيل

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")
yolo predict model=path/to/edgetpu_model.tflite source=path/to/source.png  # Load an official model or custom model

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

مهم

يجب عليك تشغيل النموذج باستخدام tflite-runtime وليس tensorflow. لو tensorflow مثبت ، إلغاء التثبيت tensorflow بالأمر التالي:

pip uninstall tensorflow tensorflow-aarch64

ثم تثبيت / تحديث tflite-runtime:

pip install -U tflite-runtime

إذا كنت تريد tflite-runtime عجلة ل tensorflow 2.15.0 قم بتنزيله من هنا وتثبيته باستخدام pip أو مدير الحزم الذي تختاره.

الأسئلة المتداولة

ما هو كورال إيدج TPU وكيف يعزز أداء Raspberry Pi مع Ultralytics YOLOv8 ؟

Coral Edge TPU هو جهاز صغير الحجم مصمم لإضافة معالج مساعد Edge TPU إلى نظامك. يتيح هذا المعالج المساعد إمكانية الاستدلال على التعلم الآلي منخفض الطاقة وعالي الأداء، وهو محسّن بشكل خاص لنماذج TensorFlow لايت. عند استخدام Raspberry Pi، يعمل المعالج المساعد Edge TPU على تسريع استدلال نموذج التعلم الآلي، مما يعزز الأداء بشكل كبير، خاصةً لنماذج Ultralytics YOLOv8 . يمكنك قراءة المزيد حول 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 YOLOv8 الخاص بي ليكون متوافقًا مع نموذج Coral Edge TPU ؟

نعم، يمكنك تصدير نموذج Ultralytics YOLOv8 الخاص بك ليكون متوافقًا مع نموذج Coral Edge TPU. يوصى بإجراء التصدير على Google Colab، أو على جهاز لينكس x86_64، أو باستخدام حاوية Docker Ultralytics . يمكنك أيضًا استخدام Ultralytics HUB للتصدير. إليك كيفية تصدير النموذج الخاص بك باستخدام 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")
yolo export model=path/to/model.pt format=edgetpu  # Export an official model or custom model

لمزيد من المعلومات، راجع وثائق وضع التصدير.

ماذا يجب أن أفعل إذا كان TensorFlow مثبتًا بالفعل على جهاز Raspberry Pi الخاص بي ولكنني أريد استخدام tflite-runtime بدلاً من ذلك؟

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

pip uninstall tensorflow tensorflow-aarch64

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

pip install -U tflite-runtime

بالنسبة لعجلة معينة، مثل TensorFlow 2.15.0 2.15.0 tflite-runtimeيمكنك تنزيله من هذا الرابط وتثبيته باستخدام pip. تتوافر تعليمات مفصلة في القسم الخاص بتشغيل النموذج تشغيل النموذج.

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

بعد تصدير نموذج YOLOv8 الخاص بك إلى تنسيق متوافق مع إيدج 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")
yolo predict model=path/to/edgetpu_model.tflite source=path/to/source.png  # Load an official model or custom model

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



تم الإنشاء 2024-02-12، تم التحديث 2024-07-05
المؤلفون: جلين-جوتشر (7)، سكيلنوب (1)

التعليقات