หน้านี้อธิบายวิธีสร้างไลบรารี 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 |