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