صمِّم TensorFlow Lite للوحات ARM

توضّح هذه الصفحة كيفية إنشاء مكتبات TensorFlow Lite لأجهزة الكمبيوتر المستندة إلى ARM.

يدعم TensorFlow Lite نظامَي تصميم، والميزات المتوافقة من كل نظام إنشاء غير متطابقة. راجع الجدول التالي لاختيار نظام إنشاء مناسب.

الميزة Bazel CMake
سلاسل الأدوات المحدَّدة مسبقًا arhf، arc64 أرمل، ذراع، قوس قزح 64
سلاسل أدوات مخصّصة أصعب استخدامًا وسهل الاستخدام
اختيار عمليات TF مدعوم not supported
تفويض وحدة معالجة الرسومات متوفّرة لنظام Android فقط أي نظام أساسي يدعم OpenCL
XNNPack مدعوم مدعوم
عجلة بايثون مدعوم مدعوم
C API مدعوم متوافق
C++ API متوافق مع مشاريع Bazel دعم لمشروعات CMake

تجميع شامل لـ ARM باستخدام CMake

إذا كان لديك مشروع CMake أو إذا كنت تريد استخدام سلسلة أدوات مخصصة، فمن الأفضل استخدام CMake للتجميع المتبادل. هناك صفحة التجميع المتبادل TensorFlow Lite with CMake المنفصلة متاحة لذلك.

فيديو مجمَّع من صناعة ARM مع Bazel

إذا كان لديك مشروع Bazel أو كنت تريد استخدام عمليات TF، ننصحك باستخدام نظام إنشاء Bazel. ستستخدم مجموعة الأدوات ARM GCC 8.3 المدمجة مع Bazel لإنشاء مكتبة مشتركة بمعالج ARM32/64.

البنية المستهدفة إعداد Bazel الأجهزة المتوافقة
Armhf (ARM32) --config=elinux_armhf RPI3 وRPI4 مع نظام التشغيل Raspberry Pi بنظام التشغيل 32 بت
AArch64 (ARM64) --config=elinux_aarch64 مرجاني، RPI4 مع Ubuntu 64 بت

تم اختبار التعليمات التالية على جهاز كمبيوتر يعمل بنظام التشغيل Ubuntu 16.04.3 64 بت (AMD64) وTensorFlow من فئة TensorFlow لتطوير صورة Docker tensorflow/tensorflow:devel.

لتبادل البيانات المجمّعة مع TensorFlow Lite باستخدام Bazel، اتّبِع الخطوات التالية:

الخطوة 1. تثبيت Bazel

Bazel هو نظام التصميم الأساسي لمنصة TensorFlow. ثبِّت أحدث إصدار من نظام إصدار Bazel.

الخطوة 2. مستودع استنساخ TensorFlow

git clone https://github.com/tensorflow/tensorflow.git tensorflow_src

الخطوة 3. إنشاء برنامج ثنائي ARM

مكتبة C
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite/c:libtensorflowlite_c.so

يمكنك العثور على المكتبة المشتركة في: bazel-bin/tensorflow/lite/c/libtensorflowlite_c.so.

يمكنك الاطّلاع على صفحة TensorFlow Lite C API للحصول على التفاصيل.

مكتبة C++
bazel build --config=elinux_aarch64 -c opt //tensorflow/lite:libtensorflowlite.so

يمكنك العثور على المكتبة المشتركة في: bazel-bin/tensorflow/lite/libtensorflowlite.so.

في الوقت الحالي، لا توجد طريقة مباشرة لاستخراج جميع ملفات الرؤوس المطلوبة، لذا يجب تضمين جميع ملفات الرأس في tenorflow/lite/ من مستودع TensorFlow. بالإضافة إلى ذلك، ستحتاج إلى ملفات العنوان من FlatBuffers وAbseil.

أخرى

يمكنك أيضًا إنشاء أهداف Bazel أخرى باستخدام سلسلة الأدوات. إليك بعض الأهداف المفيدة.

  • //tensorflow/lite/tools/benchmark:benchmark_model
  • //tensorflow/lite/examples/label_image:label_image