בניית חבילת גלגלי TensorFlow Lite Python

עמוד זה מתאר כיצד לבנות את ספריית 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

עבור קומפילציה צולבת של 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".
תחנת העבודה שלך יעד ברירת מחדל

בנה דוגמאות

הנה כמה פקודות לדוגמה שבהן תוכל להשתמש.

יעד armhf עבור Python 3.7

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

יעד aarch64 עבור 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 כדי להשתמש בשרשרת הכלים שלך. סקריפט שרשרת הכלים מגדיר את שני המשתנים הבאים עבור הסקריפט build_pip_package_with_cmake.sh .

מִשְׁתַנֶה מַטָרָה דוגמא
ARMCC_PREFIX מגדיר את קידומת שרשרת הכלים arm-linux-gnueabihf-
ARMCC_FLAGS דגלי אוסף -march=armv7-a -mfpu=neon-vfpv4