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 legibles por humanos que se utiliza habitualmente para la configuración de aplicaciones. serialización de datos legible por humanos e intercambio de datos entre lenguajes. A diferencia de otros formatos más prolijos, YAML prioriza la limpieza y la facilidad de uso, se basa en la sangría en lugar de corchetes o etiquetas para definir la estructura. Este enfoque minimalista lo convierte en la los desarrolladores y científicos de datos que trabajan en Aprendizaje automático (ML) e Inteligencia Artificial (IA), donde donde es esencial definir claramente entornos y parámetros complejos. Puede consultar la especificación oficial en el sitio web YAML.

El papel de YAML en los flujos de trabajo de IA

En el ámbito del Aprendizaje Profundo (Deep Learning, DL), YAML sirve como la columna vertebral para la gestión de experimentos y la reproducibilidad. Los sistemas complejos a menudo requieren definir cientos de parámetros, desde rutas de archivos hasta constantes matemáticas. Al externalizar estos ajustes en archivos YAML, los investigadores se aseguran de que sus configuraciones de datos de y arquitecturas de modelos permanezcan separadas del código base. Esta separación facilita DataOps y permite un control de versiones más sencillo de las las configuraciones experimentales.

Aplicaciones reales del aprendizaje automático

YAML es omnipresente en las modernas pilas de desarrollo de IA. Aquí hay dos formas principales en que se utiliza:

  1. Definición del conjunto de datos: Uno de los usos más comunes en Visión por Computador (CV) es definir estructuras de datos. Por ejemplo, cuando se prepara detección de objetos, un archivo YAML especifica los directorios raíz para los datos validación, el número de clases y los nombres de las clases. nombres de las clases. Ultralytics utiliza este formato para cargar sin problemas puntos de referencia como COCO o conjuntos de datos personalizados.
  2. Configuración de hiperparámetros: Conseguir el mejor rendimiento del modelo requiere un riguroso ajuste de hiperparámetros. Un archivo YAML puede almacenar variables de entrenamiento críticas como la tasa de aprendizaje, el tamaño del lote, el decaimiento del peso y el número de épocas. Esto permite a los ingenieros ejecutar múltiples experimentos simplemente intercambiando los archivos de configuración sin modificar el código Python subyacente.

YAML frente a JSON y XML

Aunque YAML comparte similitudes con otros formatos, es distinto en su filosofía de diseño y casos de uso:

  • YAML frente a JSON: JSON (JavaScript Object Notation) es ampliamente utilizado para web web. Sin embargo, JSON no admite comentarios, que son vitales para documentar experimentos científicos. YAML admite comentarios y generalmente se considera más legible para la configuración, aunque JSON es a menudo más rápido de analizar.
  • YAML frente a XML: XML (eXtensible Markup Language) utiliza etiquetas de apertura y cierre. lo que hace que los archivos sean mucho más grandes y difíciles de escanear rápidamente. La estructura basada en la sangría de YAML reduce el desorden visual, por lo que es superior para mantener gestión de la configuración de software.

Aplicación de YAML con Ultralytics

Cuando se trabaja con el modeloYOLO11 Ultralytics , los archivos YAML son fundamentales para definir los datos que ve el modelo. La dirección data en la función de entrenamiento acepta un archivo YAML que apunta a sus imágenes y etiquetas.

El siguiente ejemplo muestra cómo iniciar una sesión de entrenamiento utilizando un archivo de configuración de conjunto de datos estándar.

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model using the 'coco8.yaml' dataset configuration
# The YAML file contains paths to images and class names (e.g., person, bus)
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)

Integración de un ecosistema más amplio

Más allá de la formación directa de modelos, YAML forma parte del ecosistema MLOps. Es el formato formato de configuración estándar para Docker Compose al orquestar contenedores para el despliegue de modelos. Del mismo modo, Kubernetes utiliza YAML para definir cómo se escalan las aplicaciones en la nube.

Las herramientas de automatización como GitHub Actions también se basan en YAML para definir flujos de trabajo CI/CD, asegurando que las pruebas automatizadas y la integración automatizadas se realicen sin problemas cada vez que se envíe código. Los desarrolladores Python suelen utilizar la biblioteca PyYAML para leer y escribir mediante programación estos archivos archivos, tendiendo un puente entre la configuración estática y la ejecución dinámica de código.

Únase a la comunidad Ultralytics

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

Únete ahora