Tensorflow
O TensorFlow é uma plataforma de código aberto de ponta a ponta para Machine Learning (ML). Ele tem um ecossistema abrangente e flexível de ferramentas, bibliotecas e recursos da comunidade que permite que desenvolvedores criem e implantem facilmente aplicativos com tecnologia de ML.
Instalando Tensorflow na Labrador
- Baixe a versão 2.8 a partir deste link: https://drive.google.com/file/d/10vqovTaFwYYDgSkO0deF2A-w2mop719T/view
- pip install -U --user --upgrade <diretório onde o arquivo foi baixado>/tensorflow-2.8.0-cp39-cp39-linux_aarch64.whl
Compilando Tensorflow
- Crie um espaço de swap com pelo menos 8 gigabytes. Use um SDCARD com pelo menos 32GBytes, recomendado 64GBytes
- sudo fallocate -l 8G /swap
- sudo mkswap /swap
- sudo swapon /swap (ou edite /etc/fs para fazer o swap permanente)
- Baixe o bazelisk: git clone https://github.com/bazelbuild/bazelisk.git
- Instale o bazelisk (de acordo com as instruções do README.md no github)
- Baixe o tensorflow: git clone https://github.com/tensorflow/tensorflow.git
- cd <diretório>/tensorflow
- Liste as versões disponíveis: git tag -l
- Selecione a versão desejada (no caso 2.8.0): git checkout tags/v2.8.0
- Configure para compilação: ./configure
- É possível que o configure não encontre alguns libraries, que precisarão ser instalados manualmente
- No caso do Labrador, desabilitar todas as otimizações GPU e as pertinentes a processadores Intel
- Construa o tensorflow: bazel --host_jvm_args='-Xms512m' --host_jvm_args='-Xmx1024m' build --config=v2 --local_cpu_resources=1 //tensorflow/tools/pip_package:build_pip_package
- Gere o wheel: ./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
- O arquivo wheel estará em /tmp/tensorflow_pkg/...
A compilação vai durar aproximadamente 120 horas.
Possivelmente a compilação vai travar algumas vezes. Mas é preciso ter muita calma: como os recursos do dispositivo vão ser esgotados, é preciso tentar destravar o terminal e esperar vários minutos para verificar se está efetivamente travado. Neste caso, basta desligar o dispositivo, religar o mesmo, ir para o diretório do tensorflow e repetir o comando descrito no ítem 9 (bazel --host_jvm...
etc)