Yolo 深圳
深セン
今すぐ参加
用語集

YAML

YAMLがAIワークフローを効率化する方法を学びましょう。YAMLファイルを使用してデータセットを設定し、Ultralytics モデルをトレーニングする方法を発見し、より迅速で容易なMLOpsを実現しましょう。

YAML(YAML Ain't Markup Language)は、ソフトウェア業界で設定ファイル記述に広く用いられる、人間が読みやすいデータシリアライゼーション標準です。より複雑なマークアップ言語とは異なり、YAMLは整った書式と可読性を優先するため、パラメータを迅速に確認・修正する必要がある開発者やデータサイエンティストにとって最適な選択肢となります。 そのシンプルな構造は括弧やタグではなくインデントに依存しており、リストや辞書といった階層的なデータ構造を視覚的な煩雑さを最小限に定義できます。人工知能や機械学習の文脈では、YAMLは人間の意図と機械の実行の間の重要な架け橋として機能し、データセットのパスからハイパーパラメータ調整設定まで、バージョン管理や共有が容易な形式であらゆる情報を保存します。

機械学習における関連性

現代の機械学習運用(MLOps)において、再現性のある体系的な実験の維持は不可欠である。YAMLファイルはこれらの実験の設計図として機能し、必要な設定詳細を単一文書にカプセル化する。Ultralytics のようなフレームワークは、モデルアーキテクチャとトレーニングプロトコルを定義するために、こうした設定ファイルに大きく依存している。

コンピュータビジョンモデルをトレーニングする際、トレーニングデータの保存場所、検出対象のクラス数、およびそれらのクラス名を指定する必要がよくあります。 これらの値をPython ハードコーディングするとコードベースが煩雑になるため、 このデータをYAMLファイルに分離します。この分離により、研究者はコアコードベースを修正せずに データセットの交換や学習率の調整が可能となり、 実験の追跡と共同作業が円滑になります。

YAML vs. JSON vs. XML

YAMLはしばしばJSON(JavaScript Object Notation)やXML(eXtensible Markup Language)と比較されますが、AIエコシステムにおいてはそれぞれが若干異なる目的を果たしています。

  • YAML:人間が記述・読み取る設定ファイルに最適です。コメントをサポートしており、 特定のモデル重みやパラメータが選択された理由を文書化する上で 極めて重要です。
  • JSON:ウェブAPIや推論結果の保存など、マシン間通信に最適です。引用符や中括弧が必須であるため、人間が手動で編集するには厳格で困難であり、コメントのサポートもありません。
  • XML:レガシーシステムや複雑な文書保存( VOC )でよく使われる冗長な形式。現代の深層学習ワークフローにおける単純な設定作業には一般的に重すぎると考えられている。

AIの実世界での応用

YAMLはAI開発ライフサイクルのいくつかの重要な段階でその役割を果たします:

  • データセット構成: 作業中に オブジェクト検出 COCO カスタムデータなどのデータセット データについて UltralyticsYAMLファイル (data.yaml通常、トレーニングセット、検証セット、テストセットのディレクトリパスを定義します。また、クラスインデックス(0、1、2)をクラス名(人、自転車、車)にマッピングし、モデルがデータ構造を理解できるようにします。
  • CI/CDパイプライン: 継続的インテグレーションワークフローでは、 GitHub ActionsなどのツールがYAMLを用いて自動化ステップを定義します。 これには、新しいニューラルネットワークアーキテクチャでのユニットテストの実行や、 コードがリポジトリにプッシュされるたびにモデルをDockerコンテナにデプロイする処理などが含まれます。

例:YOLO の実行設定

以下の例は、典型的なYAMLファイルがYOLO26モデルのトレーニング用データセットインターフェースとして機能する方法を示しています。下記のPython 、Ultralytics 消費してトレーニングプロセスを開始する方法を示しています。

1. ザ coco8.yaml ファイル(概念):このファイルには、画像へのパスとクラス名のリストが含まれます。

path: ../datasets/coco8  # dataset root dir
train: images/train  # train images (relative to 'path')
val: images/val  # val images (relative to 'path')

# Classes
names:
  0: person
  1: bicycle
  2: car
  ...

2.Python :コードは設定を読み込み、指定されたパラメータを使用してトレーニングを開始します。

from ultralytics import YOLO

# Load the YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")

# Train the model using the dataset configuration defined in the YAML file
# The 'data' argument points directly to the YAML file
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)

構文の主要概念

いくつかの重要な構文規則を理解することで、次のようなよくあるエラーを回避できます: ScannerError など)は、 ParserErrorこれは、インデントが正しくないために頻繁に発生します。

  • インデント:YAML は構造を示すために空白文字(スペース、タブではない)を使用します。 ネストされた項目は、親項目よりもさらに深くインデントされなければなりません。
  • キーと値のペア: データは次のように保存されます key: value例えば、 epochs: 100 トレーニングサイクルの数を設定します。
  • リスト: シーケンスはハイフンで表記される -これは、リストを定義するのに便利です。 データ拡張 ステップまたは複数の入力 ソース。
  • コメント: 行の先頭が # パーサーによって無視されるため、特定の項目に関するメモを残すことができます ハイパーパラメータ ファイルに直接。

YAMLを習得することで、実践者はモデルトレーニングのワークフローを効率化し、設定ミスを減らし、AIプロジェクトのスケーラビリティと保守性を確保できます。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加