Yolo Vision Shenzhen
Shenzhen
Únete ahora
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, 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 da prioridad a la claridad y la sencillez, lo que permite a los desarrolladores y científicos de datos definir estructuras de datos complejas de una forma fácil de leer y escribir. A diferencia de otros formatos más ampulosos, YAML utiliza la sangría para denotar la estructura, lo que resulta en archivos limpios e intuitivos que son ideales para gestionar configuraciones en proyectos de software, incluidos los de aprendizaje automático (ML). La especificación oficial y los recursos se encuentran 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 (Deep Learning, DL) a menudo implican numerosos ajustes, desde la arquitectura del modelo hasta los parámetros de entrenamiento. Almacenar estos ajustes en un archivo YAML facilita el seguimiento, la modificación y el intercambio de configuraciones experimentales. Puedes explorar una hoja de sintaxis Y AML para una referencia 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, tasa 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 es a menudo preferido para los archivos de configuración debido a su legibilidad superior. YAML prescinde de corchetes y comas en favor de la sangría, y críticamente, soporta comentarios, que son invaluables 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 va mucho más allá de la visión por ordenador. Es un componente fundamental en el mundo de DevOps, utilizado por herramientas como Kubernetes para definir orquestaciones de contenedores y Ansible para los playbooks de automatización de TI. Este concepto suele denominarse 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, el uso de un validador de YAML es una mejor práctica recomendada. Este ecosistema de herramientas convierte a YAML en una opción sólida para gestionar todo el ciclo de vida de MLOps, desde la configuración inicial en un cuaderno Jupyter hasta el despliegue de modelos a gran escala mediante Docker y canalizaciones CI/CD con herramientas como GitHub Actions.

Únete a la comunidad de Ultralytics

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

Únete ahora
Enlace copiado al portapapeles