Unity_Lesson

YAMLファイル(YAMLは「YAML Ain’t Markup Language」の再帰的頭字語)は、データの記述や設定に使われるファイルフォーマットです。人間が読みやすく、書きやすい形式でデータを表現することができます。YAMLは多くのプログラミング言語でサポートされており、設定ファイルやデータ交換フォーマットとしてよく使用されます。

YAMLファイルの基本

  1. 基本的な構造
    • キーと値: YAMLでは、キーと値のペアを使ってデータを表現します。キーと値はコロン(:)で区切ります。
      key: value
      
    • インデント: 階層を表現するためにインデントを使用します。スペースを使い、タブは使用しません。
      parent:
        child: value
      
  2. リスト(配列)
    • リストはハイフン(-)で表現します。 ```yaml fruits:
      • Apple
      • Banana
      • Cherry ```
  3. 辞書(マップ)
    • 辞書はキーと値のペアで構成されます。
      person:
        name: John Doe
        age: 30
        address:
          street: 123 Main St
          city: Anytown
      
  4. 複雑なデータ構造
    • YAMLでは、ネストされた辞書やリストを使って複雑なデータ構造を表現することができます。
      company:
        name: Tech Corp
        employees:
          - name: Alice
            role: Developer
          - name: Bob
            role: Designer
        departments:
          engineering:
            - team_lead: Alice
              members:
                - Charlie
                - David
          design:
            - team_lead: Bob
              members:
                - Eva
                - Frank
      
  5. コメント
    • コメントはシャープ(#)で始まり、行の終わりまで続きます。
      # これはコメントです
      key: value  # ここもコメントです
      

YAMLファイルの用途

YAMLファイルの例

以下は、UnityのML-Agentsの設定ファイルの例です:

behaviors:
  MyAgent:
    trainer_type: ppo
    hyperparameters:
      batch_size: 64
      buffer_size: 10240
      learning_rate: 3e-4
      beta: 5.0e-3
      epsilon: 0.2
      num_epoch: 3
      time_horizon: 100
      reward_signal:
        extrinsic:
          gamma: 0.99
          strength: 1.0
    network_settings:
      num_layers: 3
      hidden_units: 256
      normalize: true

この例では、エージェントのトレーニングパラメータやネットワーク設定がYAML形式で記述されています。