עמוד זה מתאר כיצד לבנות את ספריית TensorFlow Lite tflite_runtime
Python עבור x86_64 והתקני ARM שונים.
ההוראות הבאות נבדקו על אובונטו 16.04.3 64-bit PC (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, מומלץ להשתמש ב- Docker מכיוון שהוא מקל על הגדרת סביבת בנייה צולבת. כמו כן אתה צריך אפשרות target
כדי להבין את ארכיטקטורת היעד.
יש כלי עוזר ב- Makefile tensorflow/lite/tools/pip_package/Makefile
זמין להפעלת פקודת build באמצעות קונטיינר Docker שהוגדר מראש. במחשב מארח Docker, אתה יכול להריץ פקודת build כדלקמן.
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 עם Ubuntu Server 20.04.01 LTS 64 סיביות |
יָלִיד | תחנת העבודה שלך | זה בונה עם אופטימיזציה "-mnative". |
תחנת העבודה שלך | יעד ברירת מחדל |
הנה כמה פקודות לדוגמה שבהן תוכל להשתמש.
make -C tensorflow/lite/tools/pip_package docker-build \
TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.7
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 |