توضّح هذه الصفحة طريقة إنشاء مكتبة Python Lite في TensorFlow Lite tflite_runtime
لأجهزة x86_64 وأجهزة ARM مختلفة.
تم اختبار التعليمات التالية على جهاز كمبيوتر يعمل بنظام التشغيل Ubuntu 16.04.3 64 بت (AMD64) وmacOS Catalina (x86_64) وTensorFlow devel Docker tensorflow/tensorflow:devel.
المتطلبات الأساسية
تحتاج إلى تثبيت CMake ونسخة من رمز مصدر TensorFlow. يُرجى الاطّلاع على صفحة إنشاء TensorFlow Lite باستخدام CMake للحصول على التفاصيل.
لإنشاء حزمة PIP لمحطة العمل، يمكنك تشغيل الأوامر التالية:
PYTHON=python3 tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh native
تجميع البيانات المجمّعة من خلال ARM
بالنسبة إلى التجميع المتبادل ARM، يُنصَح باستخدام Docker لأنّه يجعل
من السهل إعداد بيئة تصميم متقاطعة. أنت أيضًا بحاجة إلى خيار target
لمعرفة البنية المستهدَفة.
هناك أداة مساعِدة في Makefile tensorflow/lite/tools/pip_package/Makefile
متاحة لاستدعاء أمر إصدار باستخدام حاوية Docker محدّدة مسبقًا. على جهاز مضيف Docker، يمكنك تشغيل أمر إصدار على النحو التالي.
make -C tensorflow/lite/tools/pip_package docker-build \
TENSORFLOW_TARGET=<target> PYTHON_VERSION=<python3 version>
أسماء الاستهدافات المتاحة
يحتاج نص tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh
البرمجي إلى
اسم هدف لمعرفة البنية المستهدَفة. إليك قائمة الاستهدافات المتوافقة
الهدف | البنية المستهدفة | التعليقات |
---|---|---|
درع | ARMv7 VFP مع نيون | متوافق مع الإصدارين 3 و4 من Raspberry Pi |
rpi0 | ARMv6 | متوافقة مع نظام Raspberry Pi Zero |
aarch64 | aقوس64 (ARM 64 بت) | Coral Mendel Linux 4.0 Raspberry Pi مع Ubuntu Server 20.04.01 LTS 64 بت |
مدمج مع المحتوى | محطة العمل | يتم إنشاؤها باستخدام التحسين " -mNative" |
التلقائية | محطة العمل | الاستهداف التلقائي |
إنشاء أمثلة
في ما يلي بعض الأمثلة على الأوامر التي يمكنك استخدامها.
هدف Armhf للغة Python 3.7
make -C tensorflow/lite/tools/pip_package docker-build \
TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.7
هدف arc64 للغة Python 3.8
make -C tensorflow/lite/tools/pip_package docker-build \
TENSORFLOW_TARGET=aarch64 PYTHON_VERSION=3.8
كيف يتم استخدام سلسلة أدوات مخصصة؟
إذا كانت البرامج الثنائية التي تم إنشاؤها غير متوافقة مع الهدف الذي تستهدفه، فستحتاج إلى استخدام سلسلة أدواتك أو تقديم علامات إصدار مخصصة. (ضَع علامة في المربّع
هذا
لفهم البيئة المستهدَفة) في هذه الحالة، عليك تعديل
tensorflow/lite/tools/cmake/download_toolchains.sh
لاستخدام سلسلة أدواتك الخاصة.
يحدّد نص toolchain المتغيرين التاليين للنص البرمجي build_pip_package_with_cmake.sh
.
متغير | الغرض | على سبيل المثال |
---|---|---|
ARMCC_PREFIX |
تحدِّد بادئة سلسلة الأدوات | arm-linux-gnueabihf- |
ARMCC_FLAGS |
علامات التجميع | -mrush=armv7-a -mfpu=neon-vfpv4 |