이 페이지에서는 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 |