YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

YAML

yamlがAIワークフローを効率化する方法を学びましょう。より速く、より簡単なMLOpsのために、yamlファイルを使用してデータセットを構成し、Ultralytics YOLO26モデルを学習する方法を発見してください。

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

機械学習における関連性

現代の機械学習運用(MLOps)では、再現可能で整理された実験を維持することが不可欠です。yamlファイルはこれらの実験の設計図として機能し、必要なすべての構成詳細を単一のドキュメントにカプセル化します。Ultralytics YOLO26モデルのようなフレームワークは、モデルアーキテクチャと訓練プロトコルを定義するためにこれらの構成ファイルに大きく依存しています。

コンピュータービジョンモデルをトレーニングする際、トレーニングデータの場所、detectするクラスの数、およびそれらのクラス名を指定する必要があることがよくあります。これらの値をpythonスクリプトにハードコーディングすると、コードベースが乱雑になる可能性があるため、このデータをyamlファイルに分離します。この関心の分離により、研究者はコアコードベースに触れることなくデータセットを交換したり、学習率を調整したりすることができ、より良い実験trackとコラボレーションが促進されます。

yaml 対 JSON 対 XML

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

  • YAML: 人間が記述および読み取りを行う設定ファイルに最適です。コメントをサポートしており、特定のモデルの重みやパラメーターが選択された理由を文書化するために不可欠です。
  • JSON: Web APIや推論結果の保存など、機械間の通信に最適です。必要な引用符や括弧があるため、人間が手動で編集するにはより厳格で難しく、コメントのサポートもありません。
  • XML: レガシーシステムや複雑なドキュメントストレージ(Pascal VOCアノテーションなど)でよく使用される、より冗長な形式です。最新のディープラーニングワークフローにおける単純な設定タスクには、一般的に重すぎると考えられています。

AIの実世界での応用

YAMLは、AI開発ライフサイクルのいくつかの重要な段階で利用されます:

  • データセット構成: を扱う場合 オブジェクト検出 COCOのようなデータセット、またはカスタム データ Ultralyticsプラットフォーム、yamlファイル(data.yaml) は通常、学習、検証、テストセットのディレクトリパスを定義します。また、クラスインデックス(0, 1, 2)をクラス名(person, bicycle, car)にマッピングし、モデルがデータ構造を理解できるようにします。
  • 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プロジェクトがスケーラブルで保守しやすい状態を維持できます。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。