Python para IA · Lección 19
¿Qué automatiza un DataLoader de PyTorch al alimentar datos hacia el proceso de entrenamiento de un modelo?
Divide automáticamente el dataset completo en lotes (batches) de tamaño configurable, gestiona el mezclado aleatorio de los datos entre épocas de entrenamiento, y puede cargar los datos en paralelo usando múltiples procesos para no ralentizar el entrenamiento esperando a que los datos estén listos
Un DataLoader reemplaza por completo la necesidad de tener el dataset real con los datos de entrenamiento ya disponibles antes de poder usarlo
Solo puede procesar exactamente un único ejemplo de datos a la vez en total, sin ninguna posibilidad real de agrupar varios ejemplos juntos en un lote
El mezclado aleatorio de datos entre épocas de entrenamiento no tiene absolutamente ninguna relación real con la calidad del entrenamiento del modelo resultante
Python para IA · Lección 19
Completa el código
El DataLoader puede cargar los datos en paralelo usando múltiples
Revisa: puede cargar los datos en paralelo usando múltiples procesos.
Python para IA · Lección 19
¿Por qué cargar los datos en paralelo con múltiples procesos (mientras la GPU procesa el lote anterior) evita que el entrenamiento se ralentice esperando a que los datos del siguiente lote estén listos?
Pista: sin carga paralela, la GPU tendría que quedarse ociosa esperando mientras se prepara secuencialmente el siguiente lote de datos, antes de poder continuar procesando; con carga paralela usando múltiples procesos, el siguiente lote se prepara en segundo plano mientras la GPU todavía está ocupada procesando el lote actual, evitando ese tiempo muerto y manteniendo el entrenamiento corriendo de forma mucho más eficiente y continua.
✓
¡Lección completada!
DataLoaders — alimentar datos al proceso de entrenamiento
0
XP ganado
3
Vidas restantes