پکیج چرخ پایتون TensorFlow Lite را بسازید

این صفحه نحوه ساخت کتابخانه TensorFlow Lite tflite_runtime Python را برای x86_64 و دستگاه های مختلف ARM شرح می دهد.

دستورالعمل‌های زیر روی رایانه‌های شخصی 64 بیتی اوبونتو 16.04.3 (AMD64)، macOS Catalina (x86_64) و TensorFlow Devel Docker image tensorflow/tensorflow:devel آزمایش شده‌اند.

پیش نیازها

شما نیاز به نصب CMake و یک کپی از کد منبع TensorFlow دارید. لطفاً صفحه Build 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 وجود دارد. در یک ماشین میزبان داکر، می‌توانید دستور ساخت را به صورت زیر اجرا کنید.

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 به نام هدف نیاز دارد تا معماری هدف را بفهمد. در اینجا لیستی از اهداف پشتیبانی شده است.

هدف معماری هدف نظرات
armhf ARMv7 VFP با نئون سازگار با Raspberry Pi 3 و 4
rpi0 ARMv6 سازگار با Raspberry Pi Zero
aarch64 aarch64 (ARM 64 بیتی) کورال مندل لینوکس 4.0
Raspberry Pi با سرور اوبونتو 20.04.01 LTS 64 بیتی
بومی ایستگاه کاری شما با بهینه سازی "-mnative" ساخته می شود
ایستگاه کاری شما هدف پیش فرض

نمونه ها را بسازید

در اینجا چند نمونه از دستورات وجود دارد که می توانید استفاده کنید.

هدف armhf برای پایتون 3.7

make -C tensorflow/lite/tools/pip_package docker-build \
  TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.7

هدف aarch64 برای پایتون 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 تغییر دهید تا از زنجیره ابزار خود استفاده کنید. اسکریپت زنجیره ابزار دو متغیر زیر را برای اسکریپت build_pip_package_with_cmake.sh تعریف می کند.

متغیر هدف مثال
ARMCC_PREFIX پیشوند زنجیره ابزار را تعریف می کند arm-linux-gnueabihf-
ARMCC_FLAGS پرچم های تالیفی -march=armv7-a -mfpu=neon-vfpv4