Glosario

YAML

¡Descubre el poder de YAML en IA/ML! Simplifica las configuraciones, agiliza los flujos de trabajo y mejora la legibilidad con este versátil formato de datos.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

YAML Ain't Markup Language (YAML) es un lenguaje de serialización de datos legible por humanos. Se utiliza habitualmente para archivos de configuración y en aplicaciones en las que se almacenan o transmiten datos. En el contexto de la IA y el Aprendizaje Automático, el papel principal de YAML es hacer que los archivos de configuración sean fácilmente comprensibles y manejables, tendiendo un puente entre la legibilidad humana y el procesamiento por máquina.

Características principales de YAML

YAML está diseñado para ser leído y escrito fácilmente por humanos. Su sintaxis limpia y directa se basa en la sangría, en lugar de corchetes o etiquetas, para definir la estructura. Esto hace que los archivos YAML estén mucho menos desordenados y sean más fáciles de navegar en comparación con otros formatos de datos como XML o JSON. Sus principales características son:

  • Formato legible: La sintaxis de YAML hace hincapié en la legibilidad, utilizando espacios en blanco y sangrías para definir estructuras de datos jerárquicas, lo que facilita la comprensión y edición de los archivos de configuración.
  • Serialización de datos: YAML es eficaz para serializar estructuras de datos, lo que significa que puede convertir objetos de datos complejos en un formato de texto que pueda almacenarse o transmitirse fácilmente y luego reconstruirse.
  • Archivos de configuración: YAML se utiliza ampliamente para escribir archivos de configuración en aplicaciones de software, incluidas las de IA y ML. Permite a los usuarios definir parámetros, ajustes y flujos de trabajo de forma estructurada y accesible.
  • Agnóstico en cuanto al lenguaje: YAML está diseñado para funcionar con todos los lenguajes de programación, lo que lo convierte en una opción versátil para diversos proyectos de IA y ML que pueden implicar múltiples lenguajes y marcos de trabajo.
  • Integración con herramientas de IA/ML: Muchos marcos y herramientas de IA y ML, como PyTorch y TensorFlowadmiten YAML para la configuración, lo que simplifica la configuración y personalización de modelos y procesos de entrenamiento.

YAML en aplicaciones de IA y ML

En el campo de la IA y el ML, los archivos YAML son indispensables para gestionar configuraciones, definir arquitecturas de modelos y establecer pipelines de entrenamiento. He aquí un par de ejemplos del mundo real:

  • Configuración del modelo en Ultralytics YOLO: Cuando trabajes con Ultralytics YOLO se utilizan archivos YAML para definir la arquitectura del modelo, las rutas de los conjuntos de datos, los hiperparámetros de entrenamiento como tamaño del lote y el ritmo de aprendizaje, y otros ajustes diversos. Por ejemplo, un yolov8s.yaml especifica las capas y los parámetros del pequeño modelo YOLOv8 , lo que permite a los usuarios personalizar o reproducir experimentos fácilmente. Estos archivos de configuración son esenciales tanto para entrenar modelos personalizados como para desplegar modelos preentrenados utilizando Ultralytics HUB.
  • Configuración de canalizaciones de datos: YAML también se utiliza para configurar canalizaciones de datos en proyectos de ML. Por ejemplo, un archivo YAML puede describir los pasos para el preprocesamiento de datos, la ingeniería de características y el aumento de datos. Esto permite la automatización y reproducibilidad de los flujos de trabajo de datos, garantizando la coherencia y eficacia en el entrenamiento de modelos.

YAML vs. JSON

Aunque tanto YAML como JSON son lenguajes de serialización de datos, a menudo se prefiere YAML en IA y ML para la configuración debido a su mayor legibilidad. JSON, aunque también es legible hasta cierto punto, utiliza más signos de puntuación como llaves y corchetes, lo que puede hacer que las configuraciones complejas sean más difíciles de analizar de un vistazo. El uso de la sangría y la sintaxis mínima de YAML da como resultado archivos de configuración más limpios e intuitivos, reduciendo las posibilidades de error y mejorando la capacidad de mantenimiento en proyectos complejos de IA.

Mediante el uso de YAML, los profesionales de la IA y el ML pueden gestionar y comunicar eficazmente las configuraciones, haciendo que sus flujos de trabajo sean más transparentes, reproducibles y fáciles de colaborar. Su sencillez y su naturaleza humana lo convierten en una herramienta esencial en el panorama de la IA y el ML.

Leer todo