用語集

ヤムル

AI/MLにおけるYAMLのパワーをご覧ください!この汎用性の高いデータフォーマットを使って、設定を簡素化し、ワークフローを合理化し、可読性を向上させよう。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

YAML Ain't Markup Language (YAML)は、人間が読めるデータ・シリアライズ言語であり、設定ファイルやデータが保存または送信されるアプリケーションでよく使用される。シンプルさと読みやすさを追求して設計されたYAMLは、人工知能(AI)と機械学習(ML)において、モデル、トレーニング・プロセス、デプロイメント・パイプラインに関連する複雑な設定を管理するために特に有用である。そのわかりやすい構文は、AI/MLのワークフローをより理解しやすく、保守しやすく、再現しやすくする。

YAMLの主な特徴

YAMLは人間の読みやすさを優先します。その構造は階層を示すためにインデントに大きく依存しています。 Pythonに似ており、XMLJSON のようなフォーマットと比較してすっきりとしたファイルになります。主な特徴は以下の通りです:

  • 人間が読みやすい構文:ブラケットやタグの使用を最小限に抑えることで、ファイルを読みやすく、編集しやすくしています。
  • インデントによる構造化:入れ子構造を定義するために(タブではなく)スペースを使用し、明瞭性を高める。
  • データ構造のサポート:スカラー(文字列、数値、ブーリアン)、リスト(シーケンス)、ディクショナリ(マッピング/キー・バリュー・ペア)などの一般的なデータ型をネイティブにサポート。
  • コメント を使用してコメントを追加できます。 # シンボルでファイル内の文書化を行う。
  • 汎用性:様々な構成ニーズに適した複雑なデータ構造を表現できる。

YAMLの構造については公式のYAML仕様書を参照してください。

AIとMLアプリケーションにおけるYAML

YAMLファイルは、プロジェクトのライフサイクルのさまざまな側面を定義し管理するために、AIとMLの分野で広く使われており、設定をコードから分離することで一貫性とコラボレーションを促進します。主な応用分野は以下の通り:

YAMLと他のフォーマット

YAMLは他のデータ・シリアライゼーション・フォーマットと似たような目的を果たす一方で、明確な特徴を持っています:

  • YAML vs.JSON (JavaScript Object Notation): どちらも人間が読むことができ、似たようなデータ構造をサポートしている。JSONはより厳格で、文字列を引用符で囲む必要があり、中括弧を使用する。 {} と括弧 [].YAMLは、インデントと最小限の構文を使用するため、複雑なコンフィギュレーションではより読みやすいとみなされることが多い。しかし、ウェブAPIではJSONの方が広く使われている。詳細は JSON.org.
  • YAML vs.XML (Extensible Markup Language): XMLは W3C タグ (<tag>...</tag>) を使って要素を定義します。YAMLやJSONよりも冗長です。ドキュメントの構造化や検証には強力ですが、(たとえば データ注釈)、XML は一般的に、YAML のすっきりしたスタイルと比較して、読みやすさが最優先される設定ファイルにはあまり好まれません。

YAMLは人間の可読性に重点を置いているため、AI/MLプロジェクトの設定ファイルに最適で、特にMLのライフサイクルを合理化するUltralytics HUBのようなプラットフォームでは、管理を簡素化し、コラボレーションを向上させる。

すべて読む