¡Sintonice YOLO Vision 2025!
25 de septiembre de 2025
10:00 — 18:00 BST
Evento híbrido
Visión Yolo 2024
Glosario

YAML

¡Descubra el poder de YAML en IA/ML! Simplifique las configuraciones, agilice los flujos de trabajo y mejore la legibilidad con este versátil formato de datos.

YAML, un acrónimo de "YAML Ain't Markup Language", es un estándar de serialización de datos legible por humanos que se utiliza para escribir archivos de configuración y transmitir datos entre sistemas. Su diseño prioriza la claridad y la simplicidad, lo que permite a los desarrolladores y científicos de datos definir estructuras de datos complejas de una manera fácil de leer y escribir. A diferencia de los formatos más extensos, YAML utiliza la indentación para denotar la estructura, lo que da como resultado archivos limpios e intuitivos que son ideales para gestionar la configuración en proyectos de software, incluidos los de aprendizaje automático (ML). La especificación y los recursos oficiales se pueden encontrar en yaml.org.

Rol y aplicación en IA y ML

En el contexto de la Inteligencia Artificial (IA), YAML es la columna vertebral de la gestión de la configuración, desempeñando un papel crucial para garantizar la reproducibilidad y simplificar la experimentación. Los proyectos de Aprendizaje Profundo (DL) a menudo involucran numerosas configuraciones, desde la arquitectura del modelo hasta los parámetros de entrenamiento. Almacenar estas configuraciones en un archivo YAML permite un fácil seguimiento, modificación e intercambio de configuraciones experimentales. Puede explorar una hoja de referencia de la sintaxis YAML para una consulta rápida.

Dos ejemplos comunes en aplicaciones de IA en el mundo real incluyen:

  1. Configuración del conjunto de datos: Antes de entrenar un modelo, debe definir el conjunto de datos. Un archivo YAML especifica la ruta a las imágenes de entrenamiento y validación, el número de clases de objetos y los nombres de esas clases. Este enfoque es utilizado por Ultralytics para la gestión de conjuntos de datos como COCO. Esto asegura que el modelo sepa exactamente dónde encontrar sus datos y lo que se espera que aprenda.
  2. Entrenamiento y configuración de hiperparámetros: Un archivo YAML es perfecto para definir todos los parámetros necesarios para una sesión de entrenamiento. Esto incluye especificar la arquitectura del modelo (p. ej., YOLO11n), tamaño del lote, ritmo de aprendizaje, número de épocas, y la configuración de aumento de datos. La centralización de estos ajustes permite una ajuste de hiperparámetros y facilita la replicación de experimentos. El Documentación de Ultralytics proporciona ejemplos detallados de estos archivos de configuración.

YAML vs. Otros formatos de datos

YAML se compara a menudo con otros formatos de serialización de datos como JSON y XML.

  • YAML vs. JSON: Aunque funcionalmente similares y con YAML siendo un superconjunto de JSON (JavaScript Object Notation), YAML se prefiere a menudo para los archivos de configuración debido a su superior legibilidad. Prescinde de corchetes y comas en favor de la indentación y, lo que es fundamental, admite comentarios, que son inestimables para documentar las opciones de configuración.
  • YAML vs. XML: En comparación con XML (eXtensible Markup Language), YAML es mucho menos verboso. El uso de etiquetas de apertura y cierre por parte de XML hace que sus archivos sean más grandes y más difíciles de analizar rápidamente para los humanos, mientras que la sintaxis minimalista de YAML está diseñada para la edición directa.

Ecosistema y herramientas más amplios

La utilidad de YAML se extiende mucho más allá de la visión artificial. Es un componente fundamental en el mundo de DevOps, utilizado por herramientas como Kubernetes para definir orquestaciones de contenedores y Ansible para playbooks de automatización de TI. Este concepto se conoce a menudo como Configuración como código (CaC).

Para los desarrolladores que utilizan Python, la biblioteca PyYAML es una herramienta común para analizar y generar datos YAML. Para evitar errores de sintaxis, que pueden ser comunes debido a la sensibilidad a la indentación, se recomienda utilizar un validador YAML. Este ecosistema de herramientas convierte a YAML en una opción robusta para gestionar todo el ciclo de vida de MLOps, desde la configuración inicial en un Jupyter Notebook hasta la implementación de modelos a gran escala utilizando Docker y pipelines de CI/CD con herramientas como GitHub Actions. La facilidad de gestión de la configuración también simplifica la integración con plataformas como Ultralytics HUB para una experiencia de entrenamiento e implementación perfecta.

Únase a la comunidad Ultralytics

Únase al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo.

Únete ahora
Enlace copiado en el portapapeles