Formación Módulo 3 de 11

M03

Conoce AWS DeepRacer y DeepRacer on AWS

El coche, el simulador y la plataforma en la que vas a competir

  • Duración: 30 min
  • Todos
  • Vídeo + test de 5 preguntas

Al terminar sabrás…

  • Describir el coche AWS DeepRacer y qué ve exactamente su cámara
  • Explicar qué hace el simulador y por qué se entrena en él
  • Entender en lenguaje sencillo la arquitectura de DeepRacer on AWS
  • Moverte por la interfaz del piloto, de Your models a Races
  • Saber qué hay en la ficha de un modelo y qué permite el menú Actions

Vídeo: Tu coche y tu plataforma

Tu coche y tu plataformaEl vídeo de este módulo está en preparación. Mientras tanto, tienes el guion completo justo debajo.
Guion del vídeo (texto)

Dos piezas, un sistema. AWS DeepRacer tiene dos piezas. La primera es DeepRacer on AWS, la plataforma web donde entrenas y evalúas tu modelo en un simulador en tres dimensiones. La segunda es el coche AWS DeepRacer, un coche de radiocontrol a escala uno a dieciocho que carga tu modelo y conduce solo. En la fase online solo usarás la plataforma. El coche llega en las finales presenciales.

El coche real. El coche físico es pequeño, a escala uno a dieciocho, con tracción a las cuatro ruedas. Lleva una cámara frontal de cuatro megapíxeles, un módulo de cómputo con el sistema operativo Ubuntu, un motor y un servo para la dirección. Hay una versión llamada Evo que añade una segunda cámara y un sensor láser llamado LiDAR para medir distancias.

Lo que ve tu modelo. Aquí viene una sorpresa. Tu modelo no ve la pista como tú. La cámara es un gran angular de ciento veinte grados, y cada imagen se convierte a escala de grises y se reduce a ciento sesenta por ciento veinte píxeles, a quince imágenes por segundo. La cámara del simulador hace lo mismo que la real, para que lo aprendido en el ordenador sirva en la pista física.

El simulador. El simulador es un entorno virtual donde el coche entrena y se evalúa. Mientras entrena, puedes ver en directo un vídeo del coche dando vueltas. El simulador calcula el progreso, detecta cuándo se sale de la pista y lo vuelve a colocar automáticamente. Así el coche puede equivocarse miles de veces sin romper nada y sin que nadie tenga que ir a buscarlo.

Qué pasa por dentro. Por dentro, la plataforma funciona como un restaurante. Tú haces el pedido en la web. El pedido entra en una cola por orden de llegada. En la cocina, el servicio Amazon SageMaker entrena tu modelo con el simulador. Mientras, te envían el vídeo en directo. Y al final tu modelo se guarda en la nube, listo para evaluarlo o enviarlo a una carrera.

Muchas pistas. La plataforma incluye más de sesenta pistas, desde óvalos sencillos hasta circuitos famosos como el de Barcelona Cataluña. Algunas se pueden recorrer en los dos sentidos. La que aparece por defecto al crear un modelo es A to Z Speedway, que además es la pista física más popular. En el campeonato, la organización te dirá en qué pista se corre cada carrera.

Tu menú de piloto. Tu menú tiene tres zonas. En Home ves el tutorial y tus horas de cómputo. En Your models creas, importas y gestionas tus modelos. Y en Races ves las carreras abiertas, donde envías tus modelos, y las ya terminadas. Dentro de cada modelo hay dos pestañas, Training y Evaluation, y un menú Actions para clonar, borrar, descargar o enviar a una carrera.

La carcasa no corre. Al crear un modelo eliges la carcasa del coche virtual. Hay veintiocho diseños, desde un fórmula uno hasta un plátano o un vehículo de Marte, y quince colores. Elige la que más te guste, pero que sepas que es pura estética: no tiene ningún efecto en el rendimiento. Lo que hace rápido a tu coche es lo que aprende, no cómo se ve.

Dos piezas que forman un sistema

Cuando hablamos de DeepRacer hablamos en realidad de dos cosas que trabajan juntas:

  1. DeepRacer on AWS: la plataforma web en la que entrenas y evalúas tus modelos dentro de un entorno simulado en 3D. Es una solución de código abierto que la organización del campeonato ha desplegado en su cuenta de AWS.
  2. El vehículo AWS DeepRacer: un coche de radiocontrol a escala 1/18 que carga tu modelo y ejecuta la inferencia, es decir, usa la red neuronal ya entrenada para decidir en tiempo real cómo conducir.

Desde la plataforma puedes crear trabajos de entrenamiento (eligiendo función de recompensa, algoritmo, entorno e hiperparámetros), elegir la pista simulada, clonar modelos, descargarlos para el coche físico y enviarlos a una carrera virtual con clasificación.

El coche: qué es y qué ve

Tres "coches" con el mismo nombre

"AWS DeepRacer" puede referirse a tres vehículos:

Vehículo Qué es
Coche virtual El que corre en el simulador; puedes personalizar su carcasa y su color
AWS DeepRacer original El coche físico con cámara y módulo de cómputo, con una batería para el cómputo y otra para la tracción
AWS DeepRacer Evo El coche físico con un kit de sensores: una segunda cámara (estéreo), un LiDAR y una carcasa nueva

El coche físico tiene tracción 4×4, una cámara frontal de 4 megapíxeles, un módulo de cómputo con Ubuntu, un motor de escobillas, un ESC (el controlador electrónico de velocidad) y un servo de dirección.

Lo que ve la red neuronal

Esta es probablemente la idea más importante del módulo. Tu modelo no ve la pista como la ves tú en el vídeo:

  • La cámara es un gran angular de 120°.
  • Las imágenes en color se convierten a escala de grises.
  • Se reducen a 160 × 120 píxeles.
  • Llegan a 15 imágenes por segundo.

Para que te hagas una idea, 160 × 120 son 19.200 píxeles. Un icono de una app en el móvil suele tener más resolución. Con eso, en gris, tu modelo tiene que distinguir la pista, los bordes blancos y las curvas.

La cámara simulada funciona igual que la real. Así, lo que el coche aprende en el simulador tiene sentido cuando se carga en el coche de verdad.

El simulador

La guía define el simulador como el entorno virtual para visualizar el entrenamiento y evaluar modelos. Durante el entrenamiento y la evaluación puedes ver un vídeo en streaming del coche en la pista.

¿Por qué entrenar en un simulador y no en una pista real? Porque el simulador:

  • Calcula el progreso del coche y detecta cuándo se sale.
  • Lo vuelve a colocar en la pista automáticamente.
  • Entrena mucho más rápido que en el mundo real.
  • Permite elegir pistas, fondos y condiciones.

Imagina entrenar con un coche real: cada vez que se saliera, alguien tendría que ir a buscarlo, y un buen modelo necesita miles de episodios.

Qué hay detrás de la plataforma

No necesitas saber de arquitectura en la nube para competir, pero entenderla ayuda a interpretar lo que ves (por ejemplo, por qué tu modelo está "en cola"). Piensa en un restaurante:

En el restaurante En DeepRacer on AWS
La puerta y la carta La web, servida con Amazon CloudFront y Amazon S3
El recepcionista que comprueba tu reserva Amazon Cognito, que gestiona usuarios y contraseñas
El camarero que toma nota Amazon API Gateway y AWS Lambda, que reciben tus peticiones
La libreta de pedidos Amazon DynamoDB, que guarda los datos de modelos y carreras
La cola de comandas, por orden de llegada Una cola Amazon SQS FIFO y AWS Step Functions
La cocina Trabajos de entrenamiento de Amazon SageMaker con la imagen del simulador
La cámara que te enseña la cocina Amazon Kinesis Video Streams, el vídeo en directo
La despensa Amazon S3, donde se guardan los modelos

Por eso, si mucha gente entrena a la vez, tu trabajo espera su turno en la cola. Y si no hay capacidad, verás el estado WAITING_FOR_CAPACITY.

Las pistas

El código de la plataforma incluye 62 pistas, desde la sencilla Oval Track hasta circuitos como Circuit de Barcelona-Catalunya, re:Invent 2018 o Smile Speedway. Muchas tienen versión normal y "Super". Algunas se pueden recorrer en sentido horario (clockwise) o antihorario (counter clockwise).

La pista que aparece por defecto al crear un modelo es A to Z Speedway, en sentido horario. Además, su versión física es la pista de competición más popular y la recomendada para empezar.

La interfaz del piloto

Estas son las zonas principales de la web, con su nombre en inglés tal como aparece:

  • Home (inicio): tutorial rápido, crash course, horas de cómputo y número de modelos.
  • Your models (tus modelos): tu lista de modelos, con los botones Create model (crear modelo) e Import model (importar modelo).
  • Races (carreras): Open races (carreras abiertas, donde puedes participar) y Completed races (carreras terminadas).
  • Tu perfil.
Paso a pasoRecorrido por la interfaz del piloto
1 - El menú lateral
Paso 1 de 6

1 - El menú lateral

El menú de la izquierda organiza la web: Race hub (Races), Learning & Models (Get started y Your models) y, solo si tienes permisos, Admin. Tú usarás sobre todo Races y Your models.

2 - Get started
Paso 2 de 6

2 - Get started

Aquí tienes el esquema del proceso y dos atajos: Start the course abre el crash course de aprendizaje por refuerzo (unos 10 minutos) y Create model inicia tu primer modelo.

3 - Races
Paso 3 de 6

3 - Races

En Open races están las carreras en las que puedes participar y, debajo, las Completed races. Cada tarjeta indica el tipo de carrera, la pista y las fechas, con el botón See race details.

4 - La ficha de una carrera
Paso 4 de 6

4 - La ficha de una carrera

Muestra las reglas y la pista de la carrera, y dos pestañas: Race leaderboard (clasificación) y Your submissions (tus envíos).

5 - Import model
Paso 5 de 6

5 - Import model

Desde Your models, Import model abre esta pantalla para subir con Upload folder un modelo virtual exportado antes desde DeepRacer on AWS. Los modelos físicos no se pueden importar aquí.

6 - Tu perfil
Paso 6 de 6

6 - Tu perfil

Desde el menú de tu alias, arriba a la derecha, abres Your racer profile: tu alias, tus horas de entrenamiento usadas y los modelos guardados sobre el máximo.

Capturas: Guía de implementación de DeepRacer on AWS (AWS)

La ficha de un modelo

Al abrir un modelo de Your models verás dos pestañas:

  • Training (entrenamiento): estado, gráfica de recompensa, vídeo en directo mientras entrena y descarga de logs.
  • Evaluation (evaluación): para lanzar evaluaciones y ver sus resultados vuelta a vuelta.

Y un menú Actions (acciones) con estas opciones:

Opción Para qué sirve
Clone Crear una copia para seguir entrenando a partir de lo aprendido
Delete Borrar el modelo (es permanente)
Download virtual model Descargar el modelo como copia de seguridad o para otro despliegue
Download physical car model Descargar la versión para el coche físico
Submit to a virtual race Enviar el modelo a una carrera virtual

La carcasa

Al crear un modelo eliges la carcasa (shell) del coche virtual: hay 28 (por ejemplo DEEPRACER, F1, BANANA o MARS_ROVER) y 15 colores. Es puramente estética y no tiene ningún impacto en el rendimiento.

Actividad práctica

Recorrido guiado por la plataforma. No hace falta crear nada todavía. Unos 15 minutos.

  1. Entra en DeepRacer on AWS con tu alias y abre Home. Anota tus horas de cómputo disponibles y tu límite de modelos.
  2. Ve a Your models. Localiza los botones Create model e Import model, pero no los pulses aún.
  3. Ve a Races. Mira si hay alguna carrera en Open races y anota su pista y sus fechas, si las hay.
  4. Si tu equipo ya tiene algún modelo, ábrelo y recorre las pestañas Training y Evaluation. Despliega el menú Actions y localiza las cinco opciones de la tabla.
  5. En una hoja, dibuja un rectángulo de 16 × 12 cuadros y sombrea cómo crees que vería tu coche una curva a la izquierda en escala de grises. Compáralo con el de tus compañeros: así de poca información tiene el modelo.
  6. Decidid en equipo la carcasa y el color que usaréis en todos vuestros modelos.

Resumen

  • AWS DeepRacer combina una plataforma de entrenamiento en simulación (DeepRacer on AWS) y un coche físico a escala 1/18.
  • Tu modelo ve imágenes en escala de grises de 160 × 120 píxeles a 15 por segundo, igual en el simulador que en el coche.
  • Por dentro, tus peticiones entran en una cola y Amazon SageMaker entrena el modelo con el simulador.
  • En la interfaz trabajarás con Your models, Races y, en cada modelo, las pestañas Training y Evaluation y el menú Actions.
  • La carcasa es solo estética; lo que importa es entrenar en la pista de la competición.

Test final

Comprueba lo que has aprendido. Necesitas 4 aciertos de 5 para superar el módulo.