Descubra cómo YAML optimiza los flujos de trabajo de IA. Descubra cómo utilizar archivos YAML para configurar conjuntos de datos y entrenar modelos Ultralytics para obtener MLOps más rápidos y sencillos.
YAML (YAML Ain't Markup Language) es un estándar de serialización de datos legible por humanos que se utiliza ampliamente en la industria del software para escribir archivos de configuración. A diferencia de los lenguajes de marcado más complejos, YAML da prioridad al formato limpio y a la legibilidad, lo que lo convierte en una excelente opción para los desarrolladores y científicos de datos que necesitan inspeccionar o modificar parámetros rápidamente. Su estructura simple se basa en la sangría en lugar de corchetes o etiquetas, lo que permite a los usuarios definir estructuras de datos jerárquicas, como listas y diccionarios, con un mínimo de desorden visual. En el contexto de la inteligencia artificial y el aprendizaje automático, YAML sirve como un puente crítico entre la intención humana y la ejecución de la máquina, almacenando todo, desde rutas de conjuntos de datos hasta ajustes de hiperparámetros, en un formato fácil de controlar y compartir.
En las modernas operaciones de aprendizaje automático (MLOps), es esencial mantener experimentos reproducibles y organizados. Los archivos YAML funcionan como planos para estos experimentos, encapsulando todos los detalles de configuración necesarios en un único documento. Marcos como los modelos Ultralytics dependen en gran medida de estos archivos de configuración para definir las arquitecturas de los modelos y los protocolos de entrenamiento.
Cuando entrenas un modelo de visión artificial, a menudo necesitas especificar dónde se encuentran tus datos de entrenamiento, cuántas clases estás detectando y los nombres de esas clases. En lugar de codificar estos valores en Python , lo que puede dar lugar a bases de código desordenadas, se separan estos datos en un archivo YAML. Esta separación de preocupaciones permite a los investigadores intercambiar conjuntos de datos o ajustar las tasas de aprendizaje sin tocar la base de código principal, lo que facilita un mejor seguimiento de los experimentos y la colaboración.
Aunque YAML se compara a menudo con JSON (JavaScript Object Notation) y XML (eXtensible Markup Language), cumplen funciones ligeramente diferentes en el ecosistema de la IA.
YAML encuentra su lugar en varias etapas críticas del ciclo de vida del desarrollo de la IA:
data.yaml) suele definir las rutas de los directorios para los conjuntos de entrenamiento, validación y prueba. También asigna
índices de clase (0, 1, 2) a nombres de clase (persona, bicicleta, coche), lo que garantiza que el modelo comprenda la estructura de los datos.
El siguiente ejemplo muestra cómo un archivo YAML típico actúa como interfaz de conjunto de datos para entrenar un modelo YOLO26. El Python que aparece a continuación muestra cómo la Ultralytics utiliza este archivo para iniciar el proceso de entrenamiento.
1. El coco8.yaml archivo (Concepto):Este archivo contendría rutas a imágenes y una lista de
nombres de clases.
path: ../datasets/coco8 # dataset root dir
train: images/train # train images (relative to 'path')
val: images/val # val images (relative to 'path')
# Classes
names:
0: person
1: bicycle
2: car
...
2. Python :El código lee la configuración e inicia el entrenamiento utilizando los parámetros especificados. .
from ultralytics import YOLO
# Load the YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")
# Train the model using the dataset configuration defined in the YAML file
# The 'data' argument points directly to the YAML file
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)
Comprender algunas reglas sintácticas clave ayuda a evitar errores comunes, tales como ScannerError o
ParserError, que suelen producirse debido a una sangría incorrecta.
key: value. Por ejemplo,
epochs: 100 Establece el número de ciclos de entrenamiento.
-. Esto es útil para definir listas de
aumento de datos pasos o múltiples fuentes de entrada
.
# son ignoradas por el analizador, lo que le permite dejar notas
sobre aspectos específicos.
hiperparámetros directamente en el archivo.
Al dominar YAML, los profesionales pueden optimizar sus flujos de trabajo de entrenamiento de modelos, reducir los errores de configuración y garantizar que sus proyectos de IA sigan siendo escalables y fáciles de mantener.