YAML 入門

Machine Learning のための CI/CD

Ravi Bhadauria

Machine Learning Engineer

YAML とは?

  • YAML: YAML Ain't Markup Language(マークアップ言語ではない)
  • 設定ファイルやデータ交換、構造化データの表現に使用されます
  • JSON や XML に似たデータ形式言語です
  • 言語やアプリケーション間でデータを転送するための標準形式です
  • シンプルで読みやすい形式です
  • 有効なファイル拡張子: .yaml または .yml
  • 多様な CI/CD ツールの設定記述に使用されます:
    • GitHub Actions
    • Data Version Control (DVC)
Machine Learning のための CI/CD

YAML の構文

  • YAML は階層構造を持ちます
    • インデントに意味があります
  • タブは使用できません
  • YAML バリデーター (https://www.yamllint.com/)
  • コメントは # で始まります
name: Ravi
occupation: Instructor
# This is a valid comment
programming_languages: # and this one too
  python: Advanced
  go: Intermediate
  scala: Beginner
Machine Learning のための CI/CD

YAML のスカラー

  • 数値: 整数または浮動小数点数
  • 真偽値: true または false
  • Null: キーワード null または ~
  • 文字列: プレーンテキストまたは '' や "" で囲んで表現します
# 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
Machine Learning のための CI/CD

YAML のコレクション

シーケンス

  • リスト、配列、ベクトルとも呼ばれます
  • 2 つのスタイルで記述できます:

    • ブロックスタイル

      - first
      - second
      - third
      
    • フロースタイル

      [first, second, third]
      

マッピング

  • 辞書、キーと値のペア、ハッシュ、オブジェクトとも呼ばれます
  • キーは一意で、値には任意の有効なデータを使用できます
  • キーと値は : で区切ります
key1: value1
blocklist:
  - first
  - second
flowlist: [1.2, 2, "fifty", true]
Machine Learning のための CI/CD

まとめ

  • YAML はデータ形式言語です
  • CI/CD の設定記述に役立ちます
  • インデントが非常に重要です
    • タブは使用できません
  • マッピング、シーケンス、スカラーが YAML の構成要素です

YAML データ構造の階層図。

Machine Learning のための CI/CD

エディター演習のレイアウト

フォルダ、ファイル、ターミナル領域を示すエディター演習レイアウトの注釈付き画像。

Machine Learning のための CI/CD

練習しましょう!

Machine Learning のための CI/CD

Preparing Video For Download...