این صفحه نحوه ساخت کتابخانه LiteRT 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 LiteRT با 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 |