Manual

do

Maker

.

com

Como compilar Dlib e TensorFlow

Como compilar Dlib e TensorFlow

Apesar de falar da Dlib e TensorFlow nesse artigo, o ponto mais importante aqui é realmente a dlib, que será utilizada em diversos outros artigo. Nesse artigo o TensorFlow só é citado porque faz parte dos repositórios do Lontra, para compilação cruzada.

Compilar Dlib e TensorFlow

Vamos começar as compilações pela dlib. Ela é bastante utilizada também para face detection, assim como o haarcascades do OpenCV. Uma das partes do OpenFace utiliza ela em um script lua para fazer ajustes de tamanho, é bem interessante.

Clonar repositório

O primeiro passo é clonar o repositório do Lontra, relacionado à dlib. Não importa se é no sistema nativo ou no container docker, o procedimento é o mesmo.

git clone https://github.com/lhelontra/build_dlib.git

Eu copio direto como root pra evitar os problemas de transição de usuário. Mas antes de iniciar o processo, permita-me explicar alguns detalhes; teremos que instalar o pacote python-dev, pois o header é requerido durante a compilação. Mas o arquivo de configuração está apontando para a versão 3.6 do python e a instalação nativa da versão 3 do python que está no Ubuntu é a 3.5, por isso precisamos inicialmente editar o arquivo build_dlib/config/default.confe na linha 25 devemos trocar pela versão 3.5. Depois disso, iniciamos o processo de instalação e compilação:

sudo su
apt-get install python3-dev
cd build_dlib
./build_dlib.sh -c configs/default.conf --build

Confirme as questões que forem feitas no prompt, sempre com y ou s, conforme a regionalidade configurada. Em pouco tempo, a compilação será iniciada e dependendo do hardware, pode ser um processo bastante rápido. Quando terminar a compilação, será exibido o caminho do pacote gerador, que inclusive pode ser compartilhado com outros computadores.

No meu caso, o caminho está no home do meu usuário, que foi a partir de onde iniciei a compilação. Daí para instalar:

/home/djames/build_dlib/sources/dlib-19.9/tools/python/build/python3-dlib_19.9.0_amd64.deb

Com isso, finalizamos a dlib.

Compilar TensorFlow

Para compilar o TensorFlow, adivinha o repositório de quem vamos clonar? O repositório é para compilação cruzada, contamplando as boards Beagle Black, Odroid C1, Odroid C2, RPi, RPi One e RPi One Openblas.

git clone https://github.com/lhelontra/tensorflow-on-arm.git

Dependências

Para compilação cruzada, diversas dependências deverão ser supridas:

apt-get install openjdk-8-jdk automake autoconf
apt-get install curl zip unzip libtool swig libpng12-dev zlib1g-dev pkg-config git zip g++ unzip wget xz-utils

# For python2.7
apt-get install python-numpy python-dev python-pip

# For python3
apt-get install python3-numpy python3-dev python3-pip

E a arquitetura deverá ser especificada:

dpkg --add-architecture armhf
echo "deb [arch=armhf] http://httpredir.debian.org/debian/ stretch main contrib non-free" >> /etc/apt/source.list

E suporte a Python:

# For python2.7
apt-get install libpython-all-dev:armhf

# For python3
apt-get install libpython3-all-dev:armhf

Então, procede-se com a compilação:

cd build_tensorflow/
chmod +x build_tensorflow.sh
./build_tensorflow.sh <path-of-config>
# If no output errors, the pip package will be in the directory: /tmp/tensorflow_pkg/

Lembrando que esse repositório é apenas para arquiteturas ARM. Espero que tenha gostado dessa singela introdução à configuração do Dlib e TensorFlow, e tenha paciência que chegaremos às brincadeiras logo mais!

Inscreva-se no nosso canal Manual do Maker no YouTube.

Também estamos no Instagram.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.