Week 40 – Estabilización de Entrenamiento PyTorch/AMD, Telemetría CARLA y Captura CAN
Week 40 – Estabilización de Entrenamiento PyTorch/AMD, Telemetría CARLA y Captura CAN
Trabajo realizado
- Estabilización del Motor MIOpen (AMD): Se diagnosticaron y resolvieron cuellos de botella de compilación silenciosa y errores críticos del sistema (core dumped). Se implementó el descarte de lotes asimétricos (
drop_last=True) en los tensores y se incrementó el límite de descriptores de archivos del sistema operativo (ulimit) para evitar la saturación en la carpeta temporal. - Monitoreo y Convergencia del Modelo: Se integró instrumentación visual (
tqdm) para medir iteraciones por segundo y la evolución del Loss en tiempo real. La red PilotNet completó el proceso de entrenamiento exitosamente, logrando generalización sin sobreajuste y exportando los pesos definitivos (pilotnet_best.pth). - Gestión Documental de Telemetría: Se programó un pipeline automatizado conectado a la API de CARLA para la extracción de metadatos profundos desde los archivos
.log. Esto genera dinámicamente un catálogo en Markdown. En paralelo, el dataset fue sincronizado con el repositorio oficial en Hugging Face (roboticslaburjc/Carla_Logs). - Hardware y Pruebas en Red CAN Real: Se completó el ensamble y soldadura del arnés físico OBD2 a USB, integrando un módulo aislador CAN FD (RH02 PRO) con cableado diferencial. Se estableció comunicación exitosa en Linux mediante
SocketCAN, dejando el entorno preparado para la ingeniería inversa de los IDs de control (cansniffer).
Configuraciones del Pipeline de Entrenamiento y Hardware
| Componente | Configuración / Valor |
|---|---|
| Gestión de Lotes (DataLoader) | drop_last=True, num_workers=0 (Safe Mode AMD) |
| Variables de Compilación MIOpen | MIOPEN_DEBUG_DISABLE_FIND_DB=1, MIOPEN_FIND_ENFORCE=3 |
| Límite de Archivos OS (Linux) | ulimit -n 65535 |
| Hardware de Captura Vehicular | Aislador CAN FD RH02 PRO |
| Interfaz de Red Linux | SocketCAN / can-utils |
Resultados de Optimización
Las modificaciones en la gestión de tensores y los ajustes a nivel de sistema operativo eliminaron por completo las interrupciones del hardware AMD, permitiendo a la gráfica compilar sus algoritmos de forma eficiente y guardar la caché. El modelo aprendió la relación entre imágenes y controles sin bloqueos, mientras que la base física para transferir este modelo al vehículo real quedó establecida exitosamente.