หน้านี้อธิบายวิธีสร้างไลบรารี TensorFlow Lite tflite_runtime
Python สำหรับ x86_64 และอุปกรณ์ ARM ต่างๆ
คำแนะนำต่อไปนี้ได้รับการทดสอบบน Ubuntu 16.04.3 พีซี 64 บิต (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
จำเป็นต้องมีชื่อเป้าหมายเพื่อค้นหาสถาปัตยกรรมเป้าหมาย นี่คือรายการเป้าหมายที่รองรับ
เป้า | สถาปัตยกรรมเป้าหมาย | ความคิดเห็น |
---|---|---|
อาร์มเฮฟ | ARMv7 VFP พร้อมนีออน | เข้ากันได้กับราสเบอร์รี่ Pi 3 และ 4 |
rpi0 | ARMv6 | เข้ากันได้กับราสเบอร์รี่ Pi ศูนย์ |
อาร์ค64 | aarch64 (ARM 64 บิต) | คอรัลเมนเดลลินุกซ์ 4.0 Raspberry Pi พร้อม เซิร์ฟเวอร์ Ubuntu 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 ของคุณเองหรือจัดเตรียมแฟล็กบิวด์แบบกำหนดเอง (ทำเครื่องหมาย ในช่องนี้ เพื่อทำความเข้าใจสภาพแวดล้อมเป้าหมายของคุณ) ในกรณีนั้น คุณจะต้องแก้ไข tensorflow/lite/tools/cmake/download_toolchains.sh
เพื่อใช้ toolchain ของคุณเอง สคริปต์ toolchain กำหนดตัวแปรสองตัวต่อไปนี้สำหรับสคริปต์ build_pip_package_with_cmake.sh
ตัวแปร | วัตถุประสงค์ | ตัวอย่าง |
---|---|---|
ARMCC_PREFIX | กำหนดคำนำหน้า toolchain | แขน linux-gnueabihf- |
ARMCC_FLAGS | ธงรวบรวม | -march=armv7-a -mfpu=neon-vfpv4 |