בדף הזה מוסבר איך לפתח את גרסת ה-Python tflite_runtime
של LiteRT
ל-x86_64 ולמכשירי ARM שונים.
ההוראות הבאות נבדקו ב-Ubuntu 16.04.3 64-bit PC (AMD64) , macOS Catalina (x86_64) וקובץ אימג' של Docker של TensorFlow tensorflow/tensorflow:devel.
דרישות מוקדמות
יש להתקין את CMake ועותק של קוד המקור של TensorFlow. כדאי לבדוק יצירת 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
בשביל להפעיל פקודת 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 Mendel Linux 4.0 Raspberry Pi עם Ubuntu Server 20.04.01 LTS 64-bit |
מותאמת | תחנת העבודה שלך | הוא build באמצעות "-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
איך משתמשים ב-toolchain בהתאמה אישית?
אם הקבצים הבינאריים שנוצרו לא תואמים ליעד, צריך להשתמש
תוכלו ליצור רשימת כלים משלכם או לספק דגלי build בהתאמה אישית. (המחאה
הזה
להבין את סביבת היעד). במקרה כזה, צריך לשנות
tensorflow/lite/tools/cmake/download_toolchains.sh
כדי להשתמש במערכת כלים משלך.
הסקריפט Toolchain מגדיר את שני המשתנים הבאים
סקריפט build_pip_package_with_cmake.sh
.
משתנה | מטרה | דוגמה |
---|---|---|
ARMCC_PREFIX |
מגדיר קידומת של שרשור כלים | arm-linux-gnueabihf- |
ARMCC_FLAGS |
דגלים של הידור | -march=armv7-a -mfpu=neon-vfpv4 |