หน้านี้อธิบายวิธีสร้างและใช้ไลบรารี TensorFlow Lite ด้วยเครื่องมือ CMake
คำแนะนำต่อไปนี้ได้รับการทดสอบบน Ubuntu 16.04.3 64-bit PC (AMD64) , macOS Catalina (x86_64), Windows 10 และ TensorFlow devel Docker image tensorflow/tensorflow:devel
ขั้นตอนที่ 1 ติดตั้งเครื่องมือ CMake
ต้องใช้ CMake 3.16 หรือสูงกว่า บน Ubuntu คุณสามารถรันคำสั่งต่อไปนี้
sudo apt-get install cmake
หรือคุณสามารถทำตาม คู่มือการติดตั้ง cmake อย่างเป็นทางการ
ขั้นตอนที่ 2 โคลนที่เก็บ TensorFlow
git clone https://github.com/tensorflow/tensorflow.git tensorflow_src
ขั้นตอนที่ 3 สร้างไดเร็กทอรี CMake build
mkdir tflite_build
cd tflite_build
ขั้นตอนที่ 4 เรียกใช้เครื่องมือ CMake พร้อมการกำหนดค่า
ปล่อยบิลด์
มันสร้างไบนารีการเผยแพร่ที่ปรับให้เหมาะสมตามค่าเริ่มต้น หากคุณต้องการสร้างสำหรับเวิร์กสเตชันของคุณ เพียงเรียกใช้คำสั่งต่อไปนี้
cmake ../tensorflow_src/tensorflow/lite
ดีบักบิลด์
หากคุณต้องการสร้างบิวด์การดีบักซึ่งมีข้อมูลสัญลักษณ์ คุณต้องระบุตัวเลือก -DCMAKE_BUILD_TYPE=Debug
cmake ../tensorflow_src/tensorflow/lite -DCMAKE_BUILD_TYPE=Debug
สร้างด้วยการทดสอบหน่วยเคอร์เนล
เพื่อให้สามารถเรียกใช้การทดสอบเคอร์เนล คุณต้องระบุแฟล็ก -DTFLITE_KERNEL_TEST=on
ข้อมูลเฉพาะของการรวบรวมข้ามการทดสอบหน่วยสามารถพบได้ในส่วนย่อยถัดไป
cmake ../tensorflow_src/tensorflow/lite -DTFLITE_KERNEL_TEST=on
สร้างแพ็คเกจที่ติดตั้งได้
หากต้องการสร้างแพ็คเกจที่ติดตั้งได้ซึ่งสามารถใช้เป็นการพึ่งพาโดยโปรเจ็กต์ CMake อื่นที่มี find_package(tensorflow-lite CONFIG)
ให้ใช้ตัวเลือก -DTFLITE_ENABLE_INSTALL=ON
คุณควรระบุการขึ้นต่อกันของไลบรารีในเวอร์ชันของคุณเองด้วย สิ่งเหล่านี้จะต้องใช้โดยโครงการที่ขึ้นอยู่กับ TF Lite คุณสามารถใช้ -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON
และตั้งค่าตัวแปร <PackageName>_DIR
ให้ชี้ไปที่การติดตั้งไลบรารีของคุณ
cmake ../tensorflow_src/tensorflow/lite -DTFLITE_ENABLE_INSTALL=ON \
-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON \
-DSYSTEM_FARMHASH=ON \
-DSYSTEM_PTHREADPOOL=ON \
-Dabsl_DIR=<install path>/lib/cmake/absl \
-DEigen3_DIR=<install path>/share/eigen3/cmake \
-DFlatBuffers_DIR=<install path>/lib/cmake/flatbuffers \
-Dgemmlowp_DIR=<install path>/lib/cmake/gemmlowp \
-DNEON_2_SSE_DIR=<install path>/lib/cmake/NEON_2_SSE \
-Dcpuinfo_DIR=<install path>/share/cpuinfo \
-Druy_DIR=<install path>/lib/cmake/ruy
การรวบรวมข้าม
คุณสามารถใช้ CMake เพื่อสร้างไบนารีสำหรับสถาปัตยกรรมเป้าหมาย ARM64 หรือ Android
ในการคอมไพล์ข้าม TF Lite คุณต้องระบุเส้นทางไปยัง SDK (เช่น ARM64 SDK หรือ NDK ในกรณีของ Android) ด้วยแฟล็ก -DCMAKE_TOOLCHAIN_FILE
cmake -DCMAKE_TOOLCHAIN_FILE=<CMakeToolchainFileLoc> ../tensorflow/lite/
ข้อมูลจำเพาะของการรวบรวมข้าม Android
สำหรับการคอมไพล์ข้าม Android คุณต้องติดตั้ง Android NDK และระบุเส้นทาง NDK ด้วยแฟล็ก -DCMAKE_TOOLCHAIN_FILE
ที่กล่าวถึงข้างต้น คุณต้องตั้งค่า ABI เป้าหมายด้วยแฟล็ก -DANDROID_ABI
cmake -DCMAKE_TOOLCHAIN_FILE=<NDK path>/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=arm64-v8a ../tensorflow_src/tensorflow/lite
ข้อมูลจำเพาะของเคอร์เนล (หน่วย) ทดสอบการคอมไพล์ข้าม
การรวบรวมข้ามการทดสอบหน่วยต้องใช้คอมไพเลอร์ flatc สำหรับสถาปัตยกรรมโฮสต์ เพื่อจุดประสงค์นี้ มี CMakeLists อยู่ใน tensorflow/lite/tools/cmake/native_tools/flatbuffers
เพื่อสร้างคอมไพเลอร์ flatc ด้วย CMake ล่วงหน้าในไดเร็กทอรี build แยกต่างหากโดยใช้ host toolchain
mkdir flatc-native-build && cd flatc-native-build
cmake ../tensorflow_src/tensorflow/lite/tools/cmake/native_tools/flatbuffers
cmake --build .
นอกจากนี้ยังเป็นไปได้ ที่จะติดตั้ง flatc ไปยังตำแหน่งการติดตั้งแบบกำหนดเอง (เช่น ไปยังไดเร็กทอรีที่มีเครื่องมืออื่น ๆ ที่สร้างขึ้นเองแทนที่จะเป็นไดเร็กทอรี CMake build):
cmake -DCMAKE_INSTALL_PREFIX=<native_tools_dir> ../tensorflow_src/tensorflow/lite/tools/cmake/native_tools/flatbuffers
cmake --build .
สำหรับการคอมไพล์ข้าม TF Lite นั้น จำเป็นต้องมีพารามิเตอร์เพิ่มเติม -DTFLITE_HOST_TOOLS_DIR=<flatc_dir_path>
ที่ชี้ไปยังไดเร็กทอรีที่มีแฟล็กแฟ ล็ก flatc ดั้งเดิมพร้อมกับแฟล็ก -DTFLITE_KERNEL_TEST=on
ที่กล่าวถึงข้างต้น
cmake -DCMAKE_TOOLCHAIN_FILE=${OE_CMAKE_TOOLCHAIN_FILE} -DTFLITE_KERNEL_TEST=on -DTFLITE_HOST_TOOLS_DIR=<flatc_dir_path> ../tensorflow/lite/
การทดสอบเคอร์เนล (หน่วย) ที่คอมไพล์ข้ามเริ่มต้นที่เป้าหมาย
การทดสอบหน่วยสามารถเรียกใช้เป็นไฟล์ปฏิบัติการแยกต่างหากหรือใช้ยูทิลิตี้ CTest เท่าที่เกี่ยวข้องกับ CTest หากอย่างน้อยหนึ่งในพารามิเตอร์ TFLITE_ENABLE_NNAPI, TFLITE_ENABLE_XNNPACK
หรือ TFLITE_EXTERNAL_DELEGATE
ถูกเปิดใช้งานสำหรับรุ่น TF Lite การทดสอบผลลัพธ์จะถูกสร้างขึ้นด้วย ป้ายกำกับ ที่แตกต่างกันสอง ป้าย อันที่ทำงานบนแบ็กเอนด์ของ CPU - ผู้รับมอบสิทธิ์ - แสดงถึงการทดสอบที่คาดว่าจะมีการเปิดใช้งานอาร์กิวเมนต์เพิ่มเติมที่ใช้สำหรับข้อกำหนดผู้รับมอบสิทธิ์ที่ใช้
ทั้ง CTestTestfile.cmake
และ run-tests.cmake
(ตามที่อ้างถึงด้านล่าง) มีอยู่ใน <build_dir>/kernels
เรียกใช้การทดสอบหน่วยด้วย CPU backend (หาก CTestTestfile.cmake
อยู่ในเป้าหมายในไดเร็กทอรีปัจจุบัน):
ctest -L plain
เรียกใช้ตัวอย่างการทดสอบหน่วยโดยใช้ผู้รับมอบสิทธิ์ (โดยที่ไฟล์ CTestTestfile.cmake
และไฟล์ run-tests.cmake
มีอยู่ในเป้าหมายในไดเร็กทอรีปัจจุบัน):
cmake -E env TESTS_ARGUMENTS=--use_nnapi=true\;--nnapi_accelerator_name=vsi-npu ctest -L delegate
cmake -E env TESTS_ARGUMENTS=--use_xnnpack=true ctest -L delegate
cmake -E env TESTS_ARGUMENTS=--external_delegate_path=<PATH> ctest -L delegate
ข้อจำกัดที่ทราบ ของวิธีนี้ในการจัดเตรียมอาร์กิวเมนต์การเรียกใช้ที่เกี่ยวข้องกับผู้รับมอบสิทธิ์เพิ่มเติมในการทดสอบหน่วยคือการสนับสนุนที่มีประสิทธิภาพเฉพาะกับ ค่าส่งคืนที่คาดไว้เป็น 0 ค่าส่งคืนที่แตกต่างกันจะถูกรายงานเป็นการทดสอบที่ล้มเหลว
ผู้รับมอบสิทธิ์ OpenCL GPU
หากเครื่องเป้าหมายของคุณรองรับ OpenCL คุณสามารถใช้ GPU delegate ซึ่งสามารถใช้ประโยชน์จากพลัง GPU ของคุณได้
ในการกำหนดค่าการสนับสนุนผู้รับมอบสิทธิ์ OpenCL GPU:
cmake ../tensorflow_src/tensorflow/lite -DTFLITE_ENABLE_GPU=ON
ขั้นตอนที่ 5 สร้าง TensorFlow Lite
ในไดเร็กทอรี tflite_build
cmake --build . -j
ขั้นตอนที่ 6 สร้างเครื่องมือวัดประสิทธิภาพ TensorFlow Lite และตัวอย่างภาพฉลาก (ไม่บังคับ)
ในไดเร็กทอรี tflite_build
cmake --build . -j -t benchmark_model
cmake --build . -j -t label_image
ตัวเลือกที่มีอยู่เพื่อสร้าง TensorFlow Lite
นี่คือรายการตัวเลือกที่มีอยู่ คุณสามารถแทนที่ด้วย -D<option_name>=[ON|OFF]
ตัวอย่างเช่น -DTFLITE_ENABLE_XNNPACK=OFF
เพื่อปิดใช้งาน XNNPACK ซึ่งเปิดใช้งานโดยค่าเริ่มต้น
ชื่อตัวเลือก | คุณสมบัติ | แอนดรอยด์ | ลีนุกซ์ | แมคโอเอส | หน้าต่าง |
---|---|---|---|---|---|
TFLITE_ENABLE_RUY | เปิดใช้งานไลบรารีการคูณเมทริกซ์ RUY | บน | ปิด | ปิด | ปิด |
TFLITE_ENABLE_NNAPI | เปิดใช้งานผู้รับมอบสิทธิ์ NNAPI | บน | ปิด | ไม่มีข้อมูล | ไม่มีข้อมูล |
TFLITE_ENABLE_GPU | เปิดใช้งานผู้รับมอบสิทธิ์ GPU | ปิด | ปิด | ไม่มีข้อมูล | ไม่มีข้อมูล |
TFLITE_ENABLE_XNNPACK | เปิดใช้งานผู้รับมอบสิทธิ์ XNNPACK | บน | บน | บน | บน |
TFLITE_ENABLE_MMAP | เปิดใช้งาน MMAP | บน | บน | บน | ไม่มีข้อมูล |
สร้างโครงการ CMake ซึ่งใช้ TensorFlow Lite
นี่คือ CMakeLists.txt ของ ตัวอย่างขั้นต่ำของ TFLite
คุณต้องมี add_subdirectory() สำหรับไดเร็กทอรี TensorFlow Lite และลิงก์ tensorflow-lite
กับ target_link_libraries()
cmake_minimum_required(VERSION 3.16)
project(minimal C CXX)
set(TENSORFLOW_SOURCE_DIR "" CACHE PATH
"Directory that contains the TensorFlow project" )
if(NOT TENSORFLOW_SOURCE_DIR)
get_filename_component(TENSORFLOW_SOURCE_DIR
"${CMAKE_CURRENT_LIST_DIR}/../../../../" ABSOLUTE)
endif()
add_subdirectory(
"${TENSORFLOW_SOURCE_DIR}/tensorflow/lite"
"${CMAKE_CURRENT_BINARY_DIR}/tensorflow-lite" EXCLUDE_FROM_ALL)
add_executable(minimal minimal.cc)
target_link_libraries(minimal tensorflow-lite)
สร้างไลบรารี TensorFlow Lite C
หากคุณต้องการสร้างไลบรารีที่ใช้ร่วมกันของ TensorFlow Lite สำหรับ C API ให้ทำตาม ขั้นตอนที่ 1 ถึง ขั้นตอนที่ 3 ก่อน หลังจากนั้นให้รันคำสั่งต่อไปนี้
cmake ../tensorflow_src/tensorflow/lite/c
cmake --build . -j
คำสั่งนี้สร้างไลบรารีที่ใช้ร่วมกันต่อไปนี้ในไดเร็กทอรีปัจจุบัน
แพลตฟอร์ม | ชื่อห้องสมุด |
---|---|
ลีนุกซ์ | libtensorflowlite_c.so |
แมคโอเอส | libtensorflowlite_c.dylib |
หน้าต่าง | tensorflowlite_c.dll |
หน้านี้อธิบายวิธีสร้างและใช้ไลบรารี TensorFlow Lite ด้วยเครื่องมือ CMake
คำแนะนำต่อไปนี้ได้รับการทดสอบบน Ubuntu 16.04.3 64-bit PC (AMD64) , macOS Catalina (x86_64), Windows 10 และ TensorFlow devel Docker image tensorflow/tensorflow:devel
ขั้นตอนที่ 1 ติดตั้งเครื่องมือ CMake
ต้องใช้ CMake 3.16 หรือสูงกว่า บน Ubuntu คุณสามารถรันคำสั่งต่อไปนี้
sudo apt-get install cmake
หรือคุณสามารถทำตาม คู่มือการติดตั้ง cmake อย่างเป็นทางการ
ขั้นตอนที่ 2 โคลนที่เก็บ TensorFlow
git clone https://github.com/tensorflow/tensorflow.git tensorflow_src
ขั้นตอนที่ 3 สร้างไดเร็กทอรี CMake build
mkdir tflite_build
cd tflite_build
ขั้นตอนที่ 4 เรียกใช้เครื่องมือ CMake พร้อมการกำหนดค่า
ปล่อยบิลด์
มันสร้างไบนารีการเผยแพร่ที่ปรับให้เหมาะสมตามค่าเริ่มต้น หากคุณต้องการสร้างสำหรับเวิร์กสเตชันของคุณ เพียงเรียกใช้คำสั่งต่อไปนี้
cmake ../tensorflow_src/tensorflow/lite
ดีบักบิลด์
หากคุณต้องการสร้างบิวด์การดีบักซึ่งมีข้อมูลสัญลักษณ์ คุณต้องระบุตัวเลือก -DCMAKE_BUILD_TYPE=Debug
cmake ../tensorflow_src/tensorflow/lite -DCMAKE_BUILD_TYPE=Debug
สร้างด้วยการทดสอบหน่วยเคอร์เนล
เพื่อให้สามารถเรียกใช้การทดสอบเคอร์เนล คุณต้องระบุแฟล็ก -DTFLITE_KERNEL_TEST=on
ข้อมูลเฉพาะของการรวบรวมข้ามการทดสอบหน่วยสามารถพบได้ในส่วนย่อยถัดไป
cmake ../tensorflow_src/tensorflow/lite -DTFLITE_KERNEL_TEST=on
สร้างแพ็คเกจที่ติดตั้งได้
หากต้องการสร้างแพ็คเกจที่ติดตั้งได้ซึ่งสามารถใช้เป็นการพึ่งพาโดยโปรเจ็กต์ CMake อื่นที่มี find_package(tensorflow-lite CONFIG)
ให้ใช้ตัวเลือก -DTFLITE_ENABLE_INSTALL=ON
คุณควรระบุการขึ้นต่อกันของไลบรารีในเวอร์ชันของคุณเองด้วย สิ่งเหล่านี้จะต้องใช้โดยโครงการที่ขึ้นอยู่กับ TF Lite คุณสามารถใช้ -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON
และตั้งค่าตัวแปร <PackageName>_DIR
ให้ชี้ไปที่การติดตั้งไลบรารีของคุณ
cmake ../tensorflow_src/tensorflow/lite -DTFLITE_ENABLE_INSTALL=ON \
-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON \
-DSYSTEM_FARMHASH=ON \
-DSYSTEM_PTHREADPOOL=ON \
-Dabsl_DIR=<install path>/lib/cmake/absl \
-DEigen3_DIR=<install path>/share/eigen3/cmake \
-DFlatBuffers_DIR=<install path>/lib/cmake/flatbuffers \
-Dgemmlowp_DIR=<install path>/lib/cmake/gemmlowp \
-DNEON_2_SSE_DIR=<install path>/lib/cmake/NEON_2_SSE \
-Dcpuinfo_DIR=<install path>/share/cpuinfo \
-Druy_DIR=<install path>/lib/cmake/ruy
การรวบรวมข้าม
คุณสามารถใช้ CMake เพื่อสร้างไบนารีสำหรับสถาปัตยกรรมเป้าหมาย ARM64 หรือ Android
ในการคอมไพล์ข้าม TF Lite คุณต้องระบุเส้นทางไปยัง SDK (เช่น ARM64 SDK หรือ NDK ในกรณีของ Android) ด้วยแฟล็ก -DCMAKE_TOOLCHAIN_FILE
cmake -DCMAKE_TOOLCHAIN_FILE=<CMakeToolchainFileLoc> ../tensorflow/lite/
ข้อมูลจำเพาะของการรวบรวมข้าม Android
สำหรับการคอมไพล์ข้าม Android คุณต้องติดตั้ง Android NDK และระบุเส้นทาง NDK ด้วยแฟล็ก -DCMAKE_TOOLCHAIN_FILE
ที่กล่าวถึงข้างต้น คุณต้องตั้งค่า ABI เป้าหมายด้วยแฟล็ก -DANDROID_ABI
cmake -DCMAKE_TOOLCHAIN_FILE=<NDK path>/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=arm64-v8a ../tensorflow_src/tensorflow/lite
ข้อมูลจำเพาะของเคอร์เนล (หน่วย) ทดสอบการคอมไพล์ข้าม
การรวบรวมข้ามการทดสอบหน่วยต้องใช้คอมไพเลอร์ flatc สำหรับสถาปัตยกรรมโฮสต์ เพื่อจุดประสงค์นี้ มี CMakeLists อยู่ใน tensorflow/lite/tools/cmake/native_tools/flatbuffers
เพื่อสร้างคอมไพเลอร์ flatc ด้วย CMake ล่วงหน้าในไดเร็กทอรี build แยกต่างหากโดยใช้ host toolchain
mkdir flatc-native-build && cd flatc-native-build
cmake ../tensorflow_src/tensorflow/lite/tools/cmake/native_tools/flatbuffers
cmake --build .
นอกจากนี้ยังเป็นไปได้ ที่จะติดตั้ง flatc ไปยังตำแหน่งการติดตั้งแบบกำหนดเอง (เช่น ไปยังไดเร็กทอรีที่มีเครื่องมืออื่น ๆ ที่สร้างขึ้นเองแทนที่จะเป็นไดเร็กทอรี CMake build):
cmake -DCMAKE_INSTALL_PREFIX=<native_tools_dir> ../tensorflow_src/tensorflow/lite/tools/cmake/native_tools/flatbuffers
cmake --build .
สำหรับการคอมไพล์ข้าม TF Lite นั้น จำเป็นต้องมีพารามิเตอร์เพิ่มเติม -DTFLITE_HOST_TOOLS_DIR=<flatc_dir_path>
ที่ชี้ไปยังไดเร็กทอรีที่มีแฟล็กแฟ ล็ก flatc ดั้งเดิมพร้อมกับแฟล็ก -DTFLITE_KERNEL_TEST=on
ที่กล่าวถึงข้างต้น
cmake -DCMAKE_TOOLCHAIN_FILE=${OE_CMAKE_TOOLCHAIN_FILE} -DTFLITE_KERNEL_TEST=on -DTFLITE_HOST_TOOLS_DIR=<flatc_dir_path> ../tensorflow/lite/
การทดสอบเคอร์เนล (หน่วย) ที่คอมไพล์ข้ามเริ่มต้นที่เป้าหมาย
การทดสอบหน่วยสามารถเรียกใช้เป็นไฟล์ปฏิบัติการแยกต่างหากหรือใช้ยูทิลิตี้ CTest เท่าที่เกี่ยวข้องกับ CTest หากอย่างน้อยหนึ่งในพารามิเตอร์ TFLITE_ENABLE_NNAPI, TFLITE_ENABLE_XNNPACK
หรือ TFLITE_EXTERNAL_DELEGATE
ถูกเปิดใช้งานสำหรับรุ่น TF Lite การทดสอบผลลัพธ์จะถูกสร้างขึ้นด้วย ป้ายกำกับ ที่แตกต่างกันสอง ป้าย อันที่ทำงานบนแบ็กเอนด์ของ CPU - ผู้รับมอบสิทธิ์ - แสดงถึงการทดสอบที่คาดว่าจะมีการเปิดใช้งานอาร์กิวเมนต์เพิ่มเติมที่ใช้สำหรับข้อกำหนดผู้รับมอบสิทธิ์ที่ใช้
ทั้ง CTestTestfile.cmake
และ run-tests.cmake
(ตามที่อ้างถึงด้านล่าง) มีอยู่ใน <build_dir>/kernels
เรียกใช้การทดสอบหน่วยด้วย CPU backend (หาก CTestTestfile.cmake
อยู่ในเป้าหมายในไดเร็กทอรีปัจจุบัน):
ctest -L plain
เรียกใช้ตัวอย่างการทดสอบหน่วยโดยใช้ผู้รับมอบสิทธิ์ (โดยที่ไฟล์ CTestTestfile.cmake
และไฟล์ run-tests.cmake
มีอยู่ในเป้าหมายในไดเร็กทอรีปัจจุบัน):
cmake -E env TESTS_ARGUMENTS=--use_nnapi=true\;--nnapi_accelerator_name=vsi-npu ctest -L delegate
cmake -E env TESTS_ARGUMENTS=--use_xnnpack=true ctest -L delegate
cmake -E env TESTS_ARGUMENTS=--external_delegate_path=<PATH> ctest -L delegate
ข้อจำกัดที่ทราบ ของวิธีนี้ในการจัดเตรียมอาร์กิวเมนต์การเรียกใช้ที่เกี่ยวข้องกับผู้รับมอบสิทธิ์เพิ่มเติมในการทดสอบหน่วยคือการสนับสนุนที่มีประสิทธิภาพเฉพาะกับ ค่าส่งคืนที่คาดไว้เป็น 0 ค่าส่งคืนที่แตกต่างกันจะถูกรายงานเป็นการทดสอบที่ล้มเหลว
ผู้รับมอบสิทธิ์ OpenCL GPU
หากเครื่องเป้าหมายของคุณรองรับ OpenCL คุณสามารถใช้ GPU delegate ซึ่งสามารถใช้ประโยชน์จากพลัง GPU ของคุณได้
ในการกำหนดค่าการสนับสนุนผู้รับมอบสิทธิ์ OpenCL GPU:
cmake ../tensorflow_src/tensorflow/lite -DTFLITE_ENABLE_GPU=ON
ขั้นตอนที่ 5 สร้าง TensorFlow Lite
ในไดเร็กทอรี tflite_build
cmake --build . -j
ขั้นตอนที่ 6 สร้างเครื่องมือวัดประสิทธิภาพ TensorFlow Lite และตัวอย่างภาพฉลาก (ไม่บังคับ)
ในไดเร็กทอรี tflite_build
cmake --build . -j -t benchmark_model
cmake --build . -j -t label_image
ตัวเลือกที่มีอยู่เพื่อสร้าง TensorFlow Lite
นี่คือรายการตัวเลือกที่มีอยู่ คุณสามารถแทนที่ด้วย -D<option_name>=[ON|OFF]
ตัวอย่างเช่น -DTFLITE_ENABLE_XNNPACK=OFF
เพื่อปิดใช้งาน XNNPACK ซึ่งเปิดใช้งานโดยค่าเริ่มต้น
ชื่อตัวเลือก | คุณสมบัติ | แอนดรอยด์ | ลีนุกซ์ | แมคโอเอส | หน้าต่าง |
---|---|---|---|---|---|
TFLITE_ENABLE_RUY | เปิดใช้งานไลบรารีการคูณเมทริกซ์ RUY | บน | ปิด | ปิด | ปิด |
TFLITE_ENABLE_NNAPI | เปิดใช้งานผู้รับมอบสิทธิ์ NNAPI | บน | ปิด | ไม่มีข้อมูล | ไม่มีข้อมูล |
TFLITE_ENABLE_GPU | เปิดใช้งานผู้รับมอบสิทธิ์ GPU | ปิด | ปิด | ไม่มีข้อมูล | ไม่มีข้อมูล |
TFLITE_ENABLE_XNNPACK | เปิดใช้งานผู้รับมอบสิทธิ์ XNNPACK | บน | บน | บน | บน |
TFLITE_ENABLE_MMAP | เปิดใช้งาน MMAP | บน | บน | บน | ไม่มีข้อมูล |
สร้างโครงการ CMake ซึ่งใช้ TensorFlow Lite
นี่คือ CMakeLists.txt ของ ตัวอย่างขั้นต่ำของ TFLite
คุณต้องมี add_subdirectory() สำหรับไดเร็กทอรี TensorFlow Lite และลิงก์ tensorflow-lite
กับ target_link_libraries()
cmake_minimum_required(VERSION 3.16)
project(minimal C CXX)
set(TENSORFLOW_SOURCE_DIR "" CACHE PATH
"Directory that contains the TensorFlow project" )
if(NOT TENSORFLOW_SOURCE_DIR)
get_filename_component(TENSORFLOW_SOURCE_DIR
"${CMAKE_CURRENT_LIST_DIR}/../../../../" ABSOLUTE)
endif()
add_subdirectory(
"${TENSORFLOW_SOURCE_DIR}/tensorflow/lite"
"${CMAKE_CURRENT_BINARY_DIR}/tensorflow-lite" EXCLUDE_FROM_ALL)
add_executable(minimal minimal.cc)
target_link_libraries(minimal tensorflow-lite)
สร้างไลบรารี TensorFlow Lite C
หากคุณต้องการสร้างไลบรารีที่ใช้ร่วมกันของ TensorFlow Lite สำหรับ C API ให้ทำตาม ขั้นตอนที่ 1 ถึง ขั้นตอนที่ 3 ก่อน หลังจากนั้นให้รันคำสั่งต่อไปนี้
cmake ../tensorflow_src/tensorflow/lite/c
cmake --build . -j
คำสั่งนี้สร้างไลบรารีที่ใช้ร่วมกันต่อไปนี้ในไดเร็กทอรีปัจจุบัน
แพลตฟอร์ม | ชื่อห้องสมุด |
---|---|
ลีนุกซ์ | libtensorflowlite_c.so |
แมคโอเอส | libtensorflowlite_c.dylib |
หน้าต่าง | tensorflowlite_c.dll |