สร้างแพ็กเกจ Python Wheel รุ่น LiteRT

หน้านี้จะอธิบายวิธีสร้าง Python LiteRT tflite_runtime ไลบรารีสำหรับ x86_64 และอุปกรณ์ ARM ต่างๆ

คำแนะนำต่อไปนี้ได้รับการทดสอบใน Ubuntu 16.04.3 PC แบบ 64 บิต (AMD64) , macOS Catalina (x86_64) และอิมเมจ Docker ของ TensorFlow devel tensorflow/tensorflow:devel.

ข้อกำหนดเบื้องต้น

คุณต้องติดตั้ง CMake และสำเนาของซอร์สโค้ด TensorFlow โปรดไปที่ สร้างทักษะการอ่านด้วย 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 พร้อมใช้งานเพื่อเรียกใช้คำสั่งบิลด์โดยใช้คอนเทนเนอร์ Docker ที่กำหนดไว้ล่วงหน้า ใน เครื่องโฮสต์ Docker คุณจะเรียกใช้คำสั่งบิลด์ได้ดังต่อไปนี้

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 aArc64 (ARM 64 บิต) Coral Mendel Linux 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

วิธีใช้ Toolchain ที่กำหนดเอง

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

ตัวแปร วัตถุประสงค์ ตัวอย่าง
ARMCC_PREFIX กำหนดคำนำหน้า Toolchain arm-linux-gnueabihf-
ARMCC_FLAGS ธงการคอมไพล์ -mrch=armv7-a -mfpu=neon-vfpv4