Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

YAML

Saiba como o YAML simplifica os fluxos de trabalho de IA. Descubra como usar ficheiros YAML para configurar conjuntos de dados e treinar modelos Ultralytics para MLOps mais rápidos e fáceis.

YAML (YAML Ain't Markup Language) é um padrão de serialização de dados legível por humanos amplamente utilizado na indústria de software para escrever ficheiros de configuração. Ao contrário de linguagens de marcação mais complexas, o YAML prioriza a formatação limpa e a legibilidade, tornando-o uma excelente escolha para programadores e cientistas de dados que precisam de inspecionar ou modificar parâmetros rapidamente. A sua estrutura simples baseia-se em recuos em vez de colchetes ou tags, o que permite aos utilizadores definir estruturas de dados hierárquicas, como listas e dicionários, com o mínimo de confusão visual. No contexto da inteligência artificial e da aprendizagem automática, o YAML serve como uma ponte crítica entre a intenção humana e a execução da máquina, armazenando tudo, desde caminhos de conjuntos de dados até configurações de ajuste de hiperparâmetros, num formato que é fácil de controlar e partilhar.

Relevância na aprendizagem automática

Nas modernas operações de aprendizagem automática (MLOps), é essencial manter experiências reproduzíveis e organizadas. Os ficheiros YAML funcionam como planos para essas experiências, encapsulando todos os detalhes de configuração necessários num único documento. Estruturas como os modelos Ultralytics dependem fortemente desses ficheiros de configuração para definir arquiteturas de modelos e protocolos de treino.

Ao treinar um modelo de visão computacional, muitas vezes é necessário especificar onde os dados de treino estão armazenados, quantas classes estão a ser detetadas e os nomes dessas classes. Em vez de codificar esses valores em Python , o que pode levar a bases de código confusas, você separa esses dados em um ficheiro YAML. Essa separação de interesses permite que os investigadores troquem conjuntos de dados ou ajustem taxas de aprendizagem sem mexer na base de código principal, facilitando um melhor acompanhamento e colaboração nas experiências.

YAML vs. JSON vs. XML

Embora o YAML seja frequentemente comparado ao JSON (JavaScript Object Notation) e ao XML (eXtensible Markup Language), eles têm finalidades ligeiramente diferentes no ecossistema da IA.

  • YAML: Ideal para ficheiros de configuração escritos e lidos por humanos. Suporta comentários, que são cruciais para documentar por que pesos ou parâmetros específicos do modelo foram escolhidos.
  • JSON: Ideal para comunicação máquina a máquina, como APIs da web ou gravação de resultados de inferência. É mais rigoroso e difícil para os humanos editarem manualmente devido às aspas e chaves necessárias, e não oferece suporte a comentários.
  • XML: Um formato mais detalhado, frequentemente utilizado em sistemas legados ou armazenamento de documentos complexos (como VOC Pascal VOC ). É geralmente considerado pesado demais para tarefas de configuração simples em fluxos de trabalho modernos de deep learning.

Aplicações do mundo real em IA

O YAML encontra o seu lugar em várias etapas críticas do ciclo de vida do desenvolvimento da IA:

  • Configuração do conjunto de dados: Ao trabalhar com deteção de objectos conjuntos de dados como COCO dados personalizados no Plataforma Ultralytics, um ficheiro YAML (data.yaml) normalmente define os caminhos dos diretórios para os conjuntos de treino, validação e teste. Também mapeia índices de classe (0, 1, 2) para nomes de classe (pessoa, bicicleta, carro), garantindo que o modelo compreenda a estrutura dos dados.
  • Pipelines de CI/CD: Em fluxos de trabalho de integração contínua, ferramentas como o GitHub Actions usam YAML para definir etapas de automação. Isso pode incluir a execução de testes unitários em uma nova arquitetura de rede neural ou a implementação de um modelo em um contentor Docker sempre que o código é enviado para um repositório.

Exemplo: Configurando uma execução YOLO

O exemplo a seguir demonstra como um ficheiro YAML típico atua como uma interface de conjunto de dados para treinar um modelo YOLO26. O Python abaixo mostra como a Ultralytics consome esse ficheiro para iniciar o processo de treino.

1. O coco8.yaml ficheiro (Conceito):Este ficheiro conteria caminhos para imagens e uma lista de nomes de classes.

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 :O código lê a configuração e inicia o treino utilizando os 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)

Conceitos-chave da sintaxe

Compreender algumas regras sintáticas fundamentais ajuda a evitar erros comuns, tais como ScannerError ou ParserError, que muitas vezes ocorrem devido a recuos incorretos.

  • Recuo: O YAML usa espaços em branco (espaços, não tabulações) para denotar estrutura. Itens aninhados devem ser recuados mais do que os seus itens pai.
  • Pares chave-valor: Os dados são armazenados como key: value. Por exemplo, epochs: 100 define o número de ciclos de treino.
  • Listas: as sequências são indicadas por um hífen -. Isso é útil para definir listas de aumento de dados etapas ou múltiplas fontes de entrada .
  • Comentários: Linhas que começam com # são ignoradas pelo analisador, permitindo que você deixe notas sobre específicos hiperparâmetros diretamente no ficheiro.

Ao dominar o YAML, os profissionais podem otimizar os seus fluxos de trabalho de treino de modelos, reduzir erros de configuração e garantir que os seus projetos de IA permaneçam escaláveis e fáceis de manter.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora