TensorFlow Lite Python 휠 패키지 빌드

이 페이지에서는 x86_64 및 다양한 ARM 기기용 TensorFlow Lite tflite_runtime Python 라이브러리를 빌드하는 방법을 설명합니다.

다음 안내는 Ubuntu 16.04.3 64비트 PC (AMD64), macOS Catalina (x86_64), TensorFlow 개발 Docker 이미지 tensorflow/tensorflow:devel에서 테스트되었습니다.

기본 요건

CMake가 설치되어 있고 TensorFlow 소스 코드 사본이 필요합니다. 자세한 내용은 CMake로 TensorFlow Lite 빌드 페이지를 참고하세요.

워크스테이션용 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 aarch64 (ARM 64비트) Coral Mendel Linux 4.0
Raspberry Pi Ubuntu Server 20.04.01 LTS 64비트
네이티브 워크스테이션 '-mnative' 최적화로 구축됩니다.
기본값 워크스테이션 기본 대상

빌드 예시

다음은 사용할 수 있는 명령어의 몇 가지 예입니다.

Python 3.7용 armhf 타겟

make -C tensorflow/lite/tools/pip_package docker-build \
  TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.7

Python 3.8용 aarch64 대상

make -C tensorflow/lite/tools/pip_package docker-build \
  TENSORFLOW_TARGET=aarch64 PYTHON_VERSION=3.8

커스텀 도구 모음을 사용하는 방법

생성된 바이너리가 타겟과 호환되지 않는 경우 자체 도구 모음을 사용하거나 커스텀 빌드 플래그를 제공해야 합니다. (대상 환경을 이해하려면 이 내용을 확인) 이 경우 자체 도구 모음을 사용하도록 tensorflow/lite/tools/cmake/download_toolchains.sh를 수정해야 합니다. 도구 모음 스크립트는 build_pip_package_with_cmake.sh 스크립트에 대해 다음 두 변수를 정의합니다.

변수 목적 예를 들어 설명하겠습니다
ARMCC_PREFIX 도구 모음 접두사를 정의합니다. arm-linux-gnueabihf-
ARMCC_FLAGS 컴파일 플래그 -march=armv7-a -mfpu=neon-vfpv4