פיתוח חבילת גלגל Python ל-TensorFlow Lite

בדף הזה נסביר איך ליצור את ספריית Python ב-TensorFlow Lite tflite_runtime ל-x86_64 ולמכשירי ARM שונים.

ההוראות הבאות נבדקו במערכות Ubuntu 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, כי קל יותר להגדיר סביבת build ב-build. נדרשת גם האפשרות 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-bit) Coral Mandel Linux 4.0
Raspberry Pi עם Ubuntu Server 20.04.01 LTS 64-bit
מותאמת תחנת העבודה שלך הוא נוצר באמצעות אופטימיזציה מסוג ' -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

איך משתמשים בשרשרת כלים מותאמת אישית?

אם הקבצים הבינאריים שנוצרו לא תואמים ליעד שלכם, תצטרכו להשתמש בשרשרת כלים משלכם או לספק דגלי build בהתאמה אישית. (מומלץ לבדוק את זה כדי להבין את סביבת היעד). במקרה כזה, אתם צריכים לשנות את tensorflow/lite/tools/cmake/download_toolchains.sh על מנת להשתמש ב-toolchain משלכם. הסקריפט Toolchain מגדיר את שני המשתנים הבאים לסקריפט build_pip_package_with_cmake.sh.

משתנה מטרה דוגמה
ARMCC_PREFIX מגדיר תחילית של Toolchain arm-linux-gnueabihf-
ARMCC_FLAGS דגלים של הידור -march=armv7-a -mfpu=neon-vfpv4