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

YAML

AI/ML における YAML のパワーを発見してください! この汎用性の高いデータ形式で、構成を簡素化し、ワークフローを効率化し、読みやすさを向上させます。

YAMLは "YAML Ain't Markup Language "の略で、人間が読めるデータシリアライゼーション標準である。 設定ファイルや言語間のデータ交換によく使われる ファイルや言語間のデータ交換によく使われる、人間が読めるデータのシリアライズ標準です。より冗長なフォーマットとは異なり、YAMLはクリーンさと使いやすさを優先します、 構造を定義するためのブラケットやタグではなく、インデントに依存しています。このミニマリスト的なアプローチにより で働く開発者やデータサイエンティストに好まれている。 機械学習(ML)や 人工知能(AI)に携わる開発者やデータ科学者に好まれている。 複雑な環境やパラメーターを明確に定義することが不可欠なのだ。公式の仕様は YAMLのウェブサイトをご覧ください。

AIワークフローにおけるYAMLの役割

ディープラーニング(DL)の領域では、YAMLが実験管理と再現性のバックボーンとして機能する。 実験管理と再現性のためのバックボーンとして機能する。複雑なシステムでは、ファイルパスから数学定数に至るまで、数百 パラメータを定義する必要がある。これらの設定をYAMLファイルに外部化することで、研究者は以下のことが可能になる。 トレーニングデータの設定と モデル・アーキテクチャをコードベースから切り離すことができる。この分離により DataOpsの実践を容易にし、実験セットアップのバージョン管理を容易にする。 実験セットアップを容易にする。

機械学習の実世界での応用

YAMLは最新のAI開発スタックではどこにでもある。YAMLを利用する2つの主な方法を紹介しよう:

  1. データセットの定義データセットの定義 コンピュータ・ビジョン(CV)における最も一般的な用途の一つは、データセット 構造を定義することです。たとえば オブジェクト検出を準備するとき、YAML ファイルは通常 は学習データと検証データのルートディレクトリ 指定します。 クラス名を指定します。Ultralytics このフォーマットを使用して、次のようなベンチマークをシームレスにロードします。 COCOやカスタムデータセットをシームレスにロードします。
  2. ハイパーパラメータの設定:最高のモデル性能を達成するには、厳密な ハイパーパラメータのチューニングが必要です。YAMLファイルには のような重要な学習変数を格納することができる。 学習率 バッチサイズ、ウェイト減衰、エポック数 エポック数を保存することができる。これにより、エンジニアは、基礎となるPythonコードを変更することなく、設定ファイルを入れ替えるだけで、複数の実験 Python 実行することができます。

YAMLとJSONおよびXMLの比較

YAMLは他のフォーマットと類似点を共有しているが、その設計思想と使用例において異なっている:

  • YAML vs. JSONJSON (JavaScript Object Notation)は Web API に広く使われています。 APIに広く使われている。しかしながら、JSON は科学的な実験を文書化するために不可欠なコメントをサポートしません。YAMLは コメントをサポートしており、一般的に、コンフィギュレーションにはより読みやすいと考えられているが、JSONの方が解析が速いことが多い。
  • YAML vs. XMLXML (eXtensible Markup Language) は開閉タグを使います。 タグを使うので、ファイルが大幅に大きくなり、人間が素早くスキャンするのが難しくなります。YAMLのインデントベースの構造 は視覚的な乱雑さを減らし ソフトウェア構成管理 ファイルを管理するのに優れている。

UltralyticsYAMLを適用する

Ultralytics YOLO11 モデルで作業する場合、YAMLファイルはモデルが見るデータを定義するための基本です。YAMLファイルは data 引数には画像とラベルを指すYAMLファイルを指定します。

次の例は、標準的なデータセット設定ファイルを用いてトレーニングセッションを開始する方法を示している。

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model using the 'coco8.yaml' dataset configuration
# The YAML file contains paths to images and class names (e.g., person, bus)
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)

より広範なエコシステムの統合

直接的なモデル・トレーニングにとどまらず、YAMLはより広範な MLOpsエコシステムにとって不可欠である。これは Docker Composeの標準設定フォーマットである。 コンテナをオーケストレーションする際の標準設定フォーマットです。同様に KubernetesはYAMLを使用して、アプリケーションがクラウドでどのようにスケールするかを定義する。

GitHub Actionsのような自動化ツールも、YAMLを利用してCI/CDワークフローを定義している。 CI/CDワークフローを定義し、コードがプッシュされるたびに自動テストと統合がスムーズに行われるようにします。 統合がスムーズに行われるようにする。Python 開発者は頻繁に PyYAML ライブラリをよく使う。 静的な設定と動的なコード実行のギャップを埋めるために。

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

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

今すぐ参加