Raspberry Pi의 소스에서 빌드

이 가이드에서는 Raspbian 9.0을 실행하는 Raspberry Pi 기기용 TensorFlow 패키지를 빌드합니다. 제시된 명령어는 다른 버전의 Raspberry Pi에도 적용될 수 있지만 이 구성에서만 테스트되었으며 지원됩니다.

TensorFlow Raspbian 패키지를 크로스 컴파일하는 것이 좋습니다. 크로스 컴파일은 패키지를 배포할 플랫폼과 다른 플랫폼을 사용하여 패키지를 빌드합니다. Raspberry Pi의 제한된 RAM과 비교적 느린 프로세서를 사용하는 대신 Linux, macOS 또는 Windows를 실행하는 보다 강력한 호스트 머신에서 TensorFlow를 빌드하는 것이 더 쉽습니다.

호스트 설정

Docker 설치

종속성 관리를 단순화하기 위해 빌드 스크립트는 Docker를 사용하여 컴파일을 위한 가상 Linux 개발 환경을 만듭니다. docker run --rm hello-world를 실행하여 Docker가 설치되어 있는지 확인합니다.

TensorFlow 소스 코드 다운로드

Git를 사용하여 TensorFlow 저장소를 클론합니다.

git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow

저장소는 기본적으로 master 개발 브랜치로 설정됩니다. 빌드할 출시 브랜치를 체크아웃할 수도 있습니다.

git checkout branch_name  # r1.9, r1.10, etc.

소스에서 빌드

TensorFlow 소스 코드를 크로스 컴파일하여 ARMv7 NEON 명령어로 Raspberry Pi 2, 3 및 4 기기에서 작동하는 Python pip 패키지를 빌드합니다. 빌드 스크립트는 컴파일을 위해 Docker 컨테이너를 시작합니다. 'build_raspberry_pi.sh' 스크립트에 'AARCH64' 매개변수를 제공하여 ARM 64비트 바이너리(aarch64)를 빌드할 수도 있습니다. Python 3.8, Python 3.7, Python 3.5, Python 2.7 중 하나를 대상 패키지로 선택합니다.

Python 3.5

tensorflow/tools/ci_build/ci_build.sh PI-PYTHON3 \
    tensorflow/tools/ci_build/pi/build_raspberry_pi.sh

Python 3.7

tensorflow/tools/ci_build/ci_build.sh PI-PYTHON37 \
    tensorflow/tools/ci_build/pi/build_raspberry_pi.sh

Python 3.8(64비트)

tensorflow/tools/ci_build/ci_build.sh PI-PYTHON38 \
    tensorflow/tools/ci_build/pi/build_raspberry_pi.sh AARCH64

Python 2.7

tensorflow/tools/ci_build/ci_build.sh PI \
    tensorflow/tools/ci_build/pi/build_raspberry_pi.sh

Pi 1 및 Zero를 포함하여 모든 Raspberry Pi 기기를 지원하는 패키지를 빌드하려면 PI_ONE 인수를 전달합니다. 예를 들면 다음과 같습니다.

tensorflow/tools/ci_build/ci_build.sh PI \
    tensorflow/tools/ci_build/pi/build_raspberry_pi.sh PI_ONE

빌드가 완료되면(30분 이내) .whl 패키지 파일이 호스트 소스 트리의 output-artifacts 디렉터리에 만들어집니다. 휠 파일을 Raspberry Pi에 복사하고 pip를 사용하여 설치합니다.

pip install tensorflow-version-cp35-none-linux_armv7l.whl