Introdução ao YAML

CI/CD para Machine Learning

Ravi Bhadauria

Machine Learning Engineer

O que é YAML?

  • YAML: YAML Ain't Markup Language
  • Usado em arquivos de configuração, troca de dados e representação de dados estruturados
  • Linguagem de formatação de dados, similar a JSON e XML
  • Permite um formato padrão para transferir dados entre linguagens ou aplicativos
  • Formato simples e limpo
  • Extensões válidas: .yaml ou .yml
  • Usado para configurar várias ferramentas de CI/CD:
    • GitHub Actions
    • Data Version Control (DVC)
CI/CD para Machine Learning

Sintaxe YAML

  • YAML tem estrutura hierárquica
    • Indentação é significativa
  • Tabs não são permitidas
  • Validadores de YAML (https://www.yamllint.com/)
  • Comentários começam com #
name: Ravi
occupation: Instructor
# This is a valid comment
programming_languages: # and this one too
  python: Advanced
  go: Intermediate
  scala: Beginner
CI/CD para Machine Learning

Escalares YAML

  • Números: inteiros ou de ponto flutuante
  • Booleanos: true ou false
  • Nulo: palavra-chave null ou ~
  • Strings: texto simples ou entre '' ou ""
# Integer
42
# Floating point
3.14
# Boolean
true
# Null values
null
# String value
a: "A string in YAML"
b: 'A string in YAML'
c: A string in YAML
CI/CD para Machine Learning

Coleções YAML

Sequências

  • Também chamadas de listas, arrays ou vetores
  • Escritas em dois estilos:

    • Estilo em bloco

      - first
      - second
      - third
      
    • Estilo em fluxo

      [first, second, third]
      

Mapeamentos

  • Também chamados de dicionário, pares chave-valor, hashes ou objetos
  • Chaves únicas, qualquer dado válido como valor
  • Chaves e valores são separados por :
key1: value1
blocklist:
  - first
  - second
flowlist: [1.2, 2, "fifty", true]
CI/CD para Machine Learning

Resumo

  • YAML é uma linguagem de formatação de dados
  • Útil para escrever configurações de CI/CD
  • Indentação é muito importante
    • Tabs não são permitidas
  • Mapeamentos, sequências e escalares são os blocos básicos do YAML

Um grafo hierárquico da estrutura de dados YAML.

CI/CD para Machine Learning

Layout dos Exercícios no Editor

Imagem anotada do layout do exercício no editor mostrando pasta, arquivo e terminal.

CI/CD para Machine Learning

Vamos praticar!

CI/CD para Machine Learning

Preparing Video For Download...