Criar da origem para o Raspberry Pi

Este guia cria um pacote do TensorFlow para um dispositivo Raspberry Pi com Raspbian 9.0. Embora as instruções funcionem para outras variantes do Raspberry Pi, ele só é testado e compatível com essa configuração.

Recomendamos fazer a compilação cruzada do pacote Raspbian do TensorFlow. A compilação cruzada está usando uma plataforma diferente para criar o pacote e implantá-lo. Em vez de usar a RAM limitada do Raspberry Pi e o processador relativamente lento, é mais fácil criar o TensorFlow em uma máquina host mais poderosa que execute Linux, macOS ou Windows.

Configuração do host

Instalar o Docker

Com o objetivo de simplificar o gerenciamento de dependências, o script de compilação usa o Docker para criar um ambiente para desenvolvedores virtual do Linux para compilação. Verifique a instalação do Docker executando: docker run --rm hello-world

Fazer o download do código-fonte do TensorFlow

Use Git para clonar o repositório do TensorFlow:

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

O repositório tem como padrão a ramificação de desenvolvimento master. Você também pode conferir um branch de lançamento para criar:

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

Criar da origem

Faça a compilação cruzada do código-fonte do TensorFlow para criar um pacote PIP do Python com as instruções NEON do ARMv7 que funcionam em dispositivos Raspberry Pi 2, 3 e 4. O script de compilação inicia um contêiner do Docker para compilação. Também é possível compilar o binário ARM de 64 bits (aarch64) fornecendo o parâmetro "AARCH64" para o script "build_raspberry_pi.sh". Escolha entre Python 3.8, Python 3.7, Python 3.5 e Python 2.7 para o pacote de destino:

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 bits)

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

Para criar um pacote compatível com todos os dispositivos Raspberry Pi, incluindo o Pi 1 e o Zero, transmita o argumento PI_ONE, por exemplo:

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

Quando a compilação terminar (aproximadamente 30 minutos), um arquivo de pacote .whl é criado no diretório de artefatos de saída da árvore de origem do host. Copie o arquivo wheel para o Raspberry Pi e instale com pip:

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