TENSORFLOW, GOOGLE CLOUD PLATFORM Y ROS

Cuando tienes que abordar un proyecto tan grande como DIA4RA, cuyo objetivo es el de dotar de inteligencia a un robot humanoide para que sea capaz de asistir y ayudar a pacientes con Alzheimer,聽 un punto clave consiste en elegir qu茅 herramientas se van a emplear para conseguirlo.

Creemos que, para que comprend谩is por completo las dimensiones del proyecto, deb茅is conocerlas (o, por lo menos, que os suenen). As铆 pues, vamos a aprovechar el diario para compartir con vosotros una serie de art铆culos en los que se pretende tanto discutir las elecciones realizadas como mostrar una introducci贸n al funcionamiento de dichas herramientas.

ROS

Por un lado se necesita un framework que permita distribuir la informaci贸n procedente de los m煤ltiples sensores del robot y enviar 贸rdenes a sus actuadores. Para conseguir esto, se decidi贸 utilizar ROS (como dijimos en art铆culos anteriores, significa Robot Operating System). Puede considerarse como la soluci贸n m谩s robusta y potente, en cuanto a las posibilidades que ofrece, cuando hay que trabajar a nivel profesional con componentes rob贸ticos.

Adem谩s en datahack contamos con la colaboraci贸n del grupo de Rob贸tica de la URJC de Fuenlabrada. Ellos disponen de amplia experiencia en este 谩mbito avalada por sus publicaciones, su contribuci贸n a proyectos Open-Source por sus continuas participaciones en congresos y torneos internacionales como Robocup, iROS, etc.

Tensorflow

Por otro lado es necesario disponer de otro framework con el que desarrollar los algoritmos que implementar谩n la inteligencia de AIDA (como dijimos en el primer post del diario, es nuestro robot y sus siglas significan Artificial Intelligence Datahack Ambassador). Para este prop贸sito nos decantamos por Tensorflow debido al fuerte impulso que est谩 recibiendo por parte de Google y de la comunidad de investigadores en Inteligencia Artificial.

Google Cloud

Adem谩s, tuvimos que decidir entre:

  1. si adquirir la infraestructura de m谩quinas equipadas con GPU鈥檚 potentes para entrenar todos los modelos que necesita el robot y ponerlos en producci贸n
  2. si era preferible emplear el Cloud de alguno de los grandes proveedores, que nos permitiese desplegar el entorno necesario para entrenar algoritmos y realizar las predicciones con los modelos generados.

Hay que tener en cuenta que, cuando el robot sea plenamente funcional, deber谩 contar con al menos 8 modelos predictivos ejecut谩ndose en paralelo. A eso habr谩 que sumar el planificador global de tareas que controlar谩 el comportamiento de AIDA, as铆 como los recursos necesarios para la gesti贸n de su Sistema Operativo y de los demonios de ROS.

Nuestro compa帽ero Alejandro se encarg贸 de implementar una arquitectura hardware que soportase todos los requisitos tanto para el entrenamiento como para la inferencia.

En paralelo, iniciamos contactos con Nvidia y Google con el objetivo de presentarles nuestro proyecto y buscar distintas formas de colaboraci贸n. Como resultado, pasamos a formar parte tanto del programa 鈥淚nception鈥 de Nvidia, con el que proporcionan recursos, soporte y promoci贸n, como del programa 鈥Google Cloud for Startups鈥 en el que entre otros beneficios se dispone de cr茅ditos para entrenar y servir modelos empleando la infraestructura de Google Cloud Platform.

Teniendo todo esto en cuenta, la aproximaci贸n que hemos tomado ha sido la de 鈥減rototipar鈥 el c贸digo de los algoritmos en nuestras m谩quinas de trabajo, que disponen de tarjetas GPU de Nvidia. Luego hemos adaptado dicho c贸digo a los requisitos de Tensorflow para que pueda ser entrenado empleando el Cloud. Esto nos da la flexibilidad de poder utilizar el mismo c贸digo tanto en una arquitectura on-premise como en la nube.

隆Seguro que ahora quieres saber m谩s sobre c贸mo aplicamos estas herramientas en el proyecto!

Pues no temas, porque vamos a desarrollar todo esto un poquito m谩s (en la secci贸n DIA4RA para programadores, porque la cosa se pone un poco m谩s t茅cnica). Y es que, como puedes comprobar, el proyecto DIA4RA ya lleva un tiempo corriendo. No ha empezado, ni mucho menos, con la llegada de AIDA.

Por eso decidimos hacer esta serie de art铆culos 鈥渇lashback鈥 dedicados a las herramientas de programaci贸n que se emplear谩n en DIA4RA. Comenzaremos mostrando la estructura que deber谩 tener el c贸digo de Tensorflow para que pueda ser entrenado de forma distribuida y servido en el Cloud. El siguiente paso consistir谩 en presentar los principales componentes de ROS, para finalizar ense帽ando c贸mo integrarlos con los modelos de Tensorflow. De esta forma, os mostraremos el recorrido cuya meta es la de combinar modelos predictivos de Deep Learning con Rob贸tica.

Y es que, una vez realizada esta introducci贸n, empieza lo realmente divertido para nosotros, ponernos manos a la obra con la parte t茅cnica.


Rub茅n Mart铆nez, Data engineer en datahack

dia4ra cdtiEl proyecto empresarial de DATAHACK CONSULTING SL., denominado 鈥淒ESARROLLO DE INTELIGENCIA ARTIFICIAL EN ROBOTS APLICADOS AL TRATAMIENTO DEL ALZHEIMER Y LA DEMENCIA鈥 y n煤mero de expediente聽00104725 / SNEO-20171211 ha sido subvencionado por聽el CENTRO PARA EL DESARROLLO TECNOL脫GICO INDUSTRIAL (CDTI)

M脕STER EXPERTO EN BIG DATA & ANALYTICS

Gracias al Master en Big Data Analytics 100% Online tendr谩s amplios conocimientos sobre las herramientas y t茅cnicas anal铆ticas necesarias para la modelizaci贸n de los principales retos de negocio, con el fin de mejorar la toma de decisiones a trav茅s de los datos y el conocimiento.

Deja un comentario

Datahack logo