(motivação: usar a infraestrutura de armazenamento e processamento do Hadoop para rodar o treinamento com TensorFlow)
A POC é a criação de uma Aplicação YARN para rodar o treinamento com TensorFlow.
Na prática, consiste em criar uma aplicação Java baseada no exemplo de execução de shell script distribuído do YARN, essa aplicação é dividida em duas partes, uma que faz submissão do script e a outra que controla dentro do cluster a execução.
Esse procedimento depende do instalador do TensorFlow criado em tensorflow_installer por link simbólico e do container em hadoop_centos6 estar rodando.
Esse procedimento é executado pelo comando:
./main.sh
Essa POC consiste em:
-
criar uma imagem Docker do Ubuntu com Java 8 e Bazel.
Arquivos:
Dockerfile
,docker-setup.sh
-
construir a aplicação YARN usando Bazel e rodar a execução do treinamento "empacotado" no instalador (o treinamento é executado no outro container que roda o Hadoop)
Arquivos:
tensorflow-yarn/
(diretório da aplicação Java),tensorflow.sh
(instalador, link simbólico),tensorflow-run.sh
Para acessar o container:
docker exec -i -t yarn_training /bin/bash --login
...
Writing YARN Applications
http://hadoop.apache.org/docs/r2.5.2/hadoop-yarn/hadoop-yarn-site/WritingYarnApplications.html