Glossário

YAML

Descobre o poder do YAML em IA/ML! Simplifica as configurações, agiliza os fluxos de trabalho e melhora a legibilidade com este formato de dados versátil.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

YAML Ain't Markup Language (YAML) é uma linguagem de serialização de dados legível por humanos, frequentemente utilizada para ficheiros de configuração e em aplicações onde os dados são armazenados ou transmitidos. Concebida para ser simples e legível, a YAML é particularmente valiosa em Inteligência Artificial (IA) e Aprendizagem Automática (ML) para gerir configurações complexas relacionadas com modelos, processos de formação e pipelines de implementação. A sua sintaxe simples torna os fluxos de trabalho de IA/ML mais compreensíveis, fáceis de manter e reproduzíveis.

Principais caraterísticas do YAML

O YAML dá prioridade à legibilidade humana. A sua estrutura baseia-se fortemente na indentação para denotar hierarquia, semelhante ao Pythono que resulta em ficheiros mais limpos em comparação com formatos como XML ou JSON. As principais caraterísticas incluem:

  • Sintaxe legível por humanos: A utilização mínima de parênteses ou etiquetas torna os ficheiros fáceis de ler e editar.
  • Estrutura através de indentação: Usa espaços (e não tabulações) para definir estruturas aninhadas, aumentando a clareza.
  • Suporte para estruturas de dados: Suporta nativamente tipos de dados comuns como escalares (strings, números, booleanos), listas (seqüências) e dicionários (mapeamentos/pares de valores chave).
  • Comentários: Permite adicionar comentários utilizando o # para documentação dentro do ficheiro.
  • Versatilidade: Pode representar estruturas de dados complexas adequadas a várias necessidades de configuração.

Podes saber mais sobre a sua estrutura na especificação oficial do YAML.

YAML em aplicações de IA e ML

Os ficheiros YAML são amplamente utilizados no panorama da IA e do ML para definir e gerir vários aspectos do ciclo de vida de um projeto, promovendo a consistência e a colaboração ao separar a configuração do código. As principais áreas de aplicação incluem:

YAML vs. Outros formatos

Embora o YAML sirva para fins semelhantes a outros formatos de serialização de dados, tem caraterísticas distintas:

  • YAML vs. JSON (JavaScript Object Notation): Ambos são legíveis por humanos e suportam estruturas de dados semelhantes. O JSON é mais rigoroso, exigindo aspas à volta das cadeias de caracteres e utilizando chaves {} e parênteses []. O YAML é frequentemente considerado mais legível para configurações complexas devido à sua utilização de indentação e sintaxe mínima. No entanto, o JSON é mais amplamente utilizado para APIs da Web. Podes encontrar mais detalhes em JSON.org.
  • YAML vs. XML (Extensible Markup Language): XML é uma linguagem de marcação definida pelo W3C que utiliza etiquetas (<tag>...</tag>) para definir elementos. É mais detalhado do que YAML e JSON. Embora seja poderoso para a estruturação e validação de documentos (por exemplo, em anotação de dados), o XML é geralmente menos preferido para ficheiros de configuração onde a legibilidade é primordial em comparação com o estilo mais limpo do YAML.

O foco do YAML na legibilidade humana torna-o uma excelente escolha para ficheiros de configuração em projectos de IA/ML, simplificando a gestão e melhorando a colaboração, especialmente em plataformas como o Ultralytics HUB, que simplificam o ciclo de vida do ML.

Lê tudo