สร้างแพ็คเกจ TensorFlow Lite Python Wheel

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

หน้านี้อธิบายวิธีสร้างไลบรารี 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 เนื่องจากจะทำให้การตั้งค่าสภาพแวดล้อมการสร้างข้ามทำได้ง่ายขึ้น นอกจากนี้ คุณยังต้องการตัวเลือก 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 พร้อม Neon เข้ากันได้กับ Raspberry Pi 3 และ 4
rpi0 ARMv6 เข้ากันได้กับ Raspberry Pi Zero
aarch64 aarch64 (ARM 64 บิต) Coral Mendel 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

วิธีการใช้ toolchain แบบกำหนดเอง?

หากไบนารีที่สร้างขึ้นเข้ากันไม่ได้กับเป้าหมายของคุณ คุณต้องใช้ toolchain ของคุณเองหรือจัดเตรียมแฟล็กบิลด์แบบกำหนดเอง (ตรวจสอบ สิ่งนี้ เพื่อทำความเข้าใจสภาพแวดล้อมเป้าหมายของคุณ) ในกรณีนั้น คุณต้องแก้ไข tensorflow/lite/tools/cmake/download_toolchains.sh เพื่อใช้ toolchain ของคุณเอง สคริปต์ toolchain กำหนดสองตัวแปรต่อไปนี้สำหรับสคริปต์ build_pip_package_with_cmake.sh

ตัวแปร วัตถุประสงค์ ตัวอย่าง
ARMCC_PREFIX กำหนดคำนำหน้า toolchain แขน-ลินุกซ์-gnueabihf-
ARMCC_FLAGS รวบรวมแฟล็ก -march=armv7-a -mfpu=นีออน-vfpv4