Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

YAML

Descubra o poder do YAML em IA/ML! Simplifique configurações, otimize fluxos de trabalho e melhore a legibilidade com este formato de dados versátil.

YAML, um acrónimo de "YAML Ain't Markup Language", é um padrão de serialização de dados legível por humanos utilizado para escrever ficheiros de configuração e transmitir dados entre sistemas. O seu design dá prioridade à clareza e simplicidade, permitindo que os programadores e cientistas de dados definam estruturas de dados complexas de uma forma que seja fácil de ler e escrever. Ao contrário de formatos mais verbosos, o YAML utiliza indentação para denotar a estrutura, o que resulta em ficheiros limpos e intuitivos, ideais para gerir configurações em projectos de software, incluindo os de aprendizagem automática (ML). A especificação oficial e os recursos podem ser encontrados em yaml.org.

Função e Aplicação em IA e ML

No contexto da Inteligência Artificial (IA), o YAML é a espinha dorsal da gestão de configurações, desempenhando um papel crucial para garantir a reprodutibilidade e simplificar a experimentação. Os projectos de aprendizagem profunda (DL) envolvem frequentemente inúmeras definições, desde a arquitetura do modelo aos parâmetros de formação. O armazenamento dessas configurações em um arquivo YAML permite fácil rastreamento, modificação e compartilhamento de configurações experimentais. Você pode explorar uma folha de dicas de sintaxe YAML para uma referência rápida.

Dois exemplos comuns do mundo real em aplicações de IA incluem:

  1. Configuração do Conjunto de Dados: Antes de treinar um modelo, você precisa definir o conjunto de dados. Um arquivo YAML especifica o caminho para as imagens de treinamento e validação, o número de classes de objetos e os nomes dessas classes. Essa abordagem é usada pela Ultralytics para gerenciar conjuntos de dados como o COCO. Isso garante que o modelo saiba exatamente onde encontrar seus dados e o que se espera que ele aprenda.
  2. Treinamento e Configuração de Hiperparâmetros: Um arquivo YAML é perfeito para definir todos os parâmetros necessários para uma sessão de treinamento. Isso inclui especificar a arquitetura do modelo (por exemplo, YOLO11n), tamanho do lote, taxa de aprendizado, número de épocas, e configurações para aumento de dados. Centralizar essas configurações permite uma Ajuste de hiperparâmetros e facilita a replicação de experimentos. O Documentação da Ultralytics fornece exemplos detalhados desses arquivos de configuração.

YAML vs. Outros Formatos de Dados

O YAML é frequentemente comparado a outros formatos de serialização de dados, como JSON e XML.

  • YAML vs. JSON: Embora funcionalmente similar e com o YAML sendo um superconjunto do JSON (JavaScript Object Notation), o YAML é frequentemente preferido para arquivos de configuração devido à sua legibilidade superior. O YAML dispensa parênteses e vírgulas em favor da indentação e, criticamente, suporta comentários, que são inestimáveis para documentar as escolhas de configuração.
  • YAML vs. XML: Comparado com XML (eXtensible Markup Language), YAML é muito menos verboso. O uso de tags de abertura e fechamento no XML torna seus arquivos maiores e mais difíceis de serem analisados rapidamente por humanos, enquanto a sintaxe minimalista do YAML é projetada para edição direta.

Ecossistema e Ferramentas Mais Amplos

A utilidade do YAML vai muito além da visão computacional. É um componente fundamental no mundo DevOps, utilizado por ferramentas como Kubernetes para definir orquestrações de contentores e Ansible para manuais de automatização de TI. Este conceito é frequentemente referido como Configuração como Código (CaC).

Para os programadores que utilizam Python, a biblioteca PyYAML é uma ferramenta comum para analisar e gerar dados YAML. Para evitar erros de sintaxe, que podem ser comuns devido à sensibilidade à indentação, a utilização de um validador YAML é uma prática recomendada. Este ecossistema de ferramentas torna o YAML uma escolha robusta para gerir todo o ciclo de vida dos MLOps, desde a configuração inicial num Jupyter Notebook até à implementação de modelos em grande escala utilizando Docker e pipelines de CI/CD com ferramentas como o GitHub Actions.

Junte-se à comunidade Ultralytics

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

Junte-se agora
Link copiado para a área de transferência