xLSTMの実装を試していて、そういえばよく見るなぁと思ってつまみ学習してみた。
初学者ですので、間違いなどありましたらご教授くださると嬉しいです。
YAMLとは?
- "キャメル"と読んで."yml"や".yaml"と書くデータシリアライズ言語
- データシリアライズ言語にはJSON, XML, CSV, YAMLなどがある(このQiita記事がとてもわかりやすい)
- 設定ファイルの記述に使われる言語
- 自分が見たことある中だと機械学習モデルに渡すconfigファイルの素とかで使われてたりする
- JSONの上位互換なので、YAML内でもJSONの記述ができる
- 特にYAMLでは改行とインデントが意味を持つけど、JSONはもたない
書き方は?
- 基本的にスカラー型とコレクション型を使う
- スカラー値としては数字、ブール値、文字列を扱える
- パイプ(|)で複数行の記述ができる
- ハイフン(-)はリストを表す
- マップを入れ子にしたりリストの中身をマップにしたりもできる
- #(シャープ)で以降の行をコメントアウトできる
scalar.yml
#コメントはシャープを使う #スカラー値の格納はこんなかんじ hogehoge: 2 command: | cat hoge.txt | pbcopy
collection.yml#pythonと同じで一行まるまるコメントになる #コレクションの格納はこんなかんじ #以下のコードは全て引用部分です #Comment: Student record #Describes some characteristics and preferences --- name: Martin D'vloper #key-value age: 26 hobbies: - painting #first list item - playing_music #second list item - cooking #third list item programming_languages: java: Intermediate python: Advanced javascript: Beginner favorite_food: - vegetables: tomatoes - fruits: citrics: oranges tropical: bananas nuts: peanuts sweets: raisins
タブ文字は仕様で許可されていないので、インデントには必ずスペースを使いましょう
参考資料
- RedHat, What is YAML?, 2023 (collection.yml内でここからコードを引用しました)
- CircleCI, YAML入門: サンプルから学べる初心者向けガイド, 2021
- siakio, シリアライズ言語の比較, 2023