トレーニングYOLO11 withClearML: MLOps ワークフローの合理化
MLOpsは、実環境における機械学習モデルの作成とデプロイのギャップを埋めるものです。MLOpsは、効率的なデプロイメント、スケーラビリティ、継続的な管理に重点を置き、モデルが実用的なアプリケーションで優れたパフォーマンスを発揮できるようにします。
Ultralytics YOLO11は、ClearML と簡単に統合でき、物体検出モデルのトレーニングと管理を合理化し、強化します。このガイドでは、ClearML のセットアップ方法、実験の管理方法、モデル管理の自動化方法、効果的なコラボレーション方法について詳しく説明します。
ClearML
ClearMLは、機械学習ワークフローを自動化、監視、オーケストレーションするために巧みに設計された革新的なオープンソースのMLOpsプラットフォームです。その主な機能には、実験の完全な再現性を実現するためのすべての学習データと推論データの自動ロギング、簡単なデータ可視化と分析のための直感的なWeb UI、高度なハイパーパラメータ最適化アルゴリズム、さまざまなプラットフォームへの効率的なデプロイのための堅牢なモデル管理などがあります。
YOLO11 トレーニングClearML
YOLO11 とClearML を統合することで、トレーニングプロセスを改善し、機械学習ワークフローに自動化と効率化をもたらすことができます。
インストール
必要なパッケージをインストールするには
インストールプロセスに関する詳細な説明とベストプラクティスについては、YOLO11 インストールガイドをご覧ください。YOLO11 に必要なパッケージのインストール中に、何らかの問題が発生した場合は、解決策とヒントについて、よくある問題ガイドを参照してください。
設定ClearML
必要なパッケージをインストールしたら、次のステップはClearML SDK の初期化と設定です。これには、ClearML アカウントの設定と、開発環境とClearML サーバー間のシームレスな接続に必要な認証情報の取得が含まれます。
ClearML SDKをあなたの環境で初期化することから始めます。clearml-init'コマンドはセットアッププロセスを開始し、必要な認証情報の入力を促します。
このコマンドを実行した後、ClearML 設定ページにアクセスする。右上に移動し、"Settings "を選択する。Workspace" セクションに移動し、"Create new credentials" をクリックする。Jupyter Notebook またはローカルのPython 環境のどちらでClearML を設定するかに応じて、"Create Credentials" ポップアップで提供された資格情報を使用して、指示されたとおりに設定を完了する。
使用方法
使い方の説明に入る前に、 Ultralytics が提供するYOLO11 モデルのラインナップをご確認ください。これは、あなたのプロジェクトの要件に最も適したモデルを選択するのに役立ちます。
使用方法
from clearml import Task
from ultralytics import YOLO
# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")
# Step 2: Selecting the YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 Model
model = YOLO(f"{model_variant}.pt")
# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)
# Step 5: Initiating Model Training
results = model.train(**args)
コードを理解する
上のコード・スニペットで紹介されている手順を理解しよう。
ステップ1:ClearML タスクの作成:ClearML で新しいタスクを初期化し、プロジェクト名とタスク名を指定する。このタスクはモデルのトレーニングを追跡・管理します。
ステップ2:YOLO11 モデルの選択:について model_variant
変数はYOLO11 モデルの一つである「yolo11n」に設定される。この variant は追跡のためにClearML に記録されます。
ステップ3:YOLO11 モデルのロード:選択されたYOLO11 モデルは、Ultralytics'YOLO クラスを使用してロードされ、トレーニングの準備をします。
ステップ4:トレーニングの論点を設定する:データセット (coco8.yaml
の数)と 時代 (16
)は辞書に整理され、ClearML タスクに接続される。これによって、ClearML UIを介した追跡と潜在的な修正が可能になる。モデルトレーニングプロセスとベストプラクティスの詳細については、我々の YOLO11 モデル・トレーニング・ガイド.
ステップ5:モデルトレーニングの開始:指定された引数でモデル学習を開始する。トレーニングの結果は results
変数である。
アウトプットを理解する
上記のコード・スニペットを実行すると、次のような出力が期待できる:
- 新しいClearML タスクの作成を示す確認メッセージと、その一意のID。
- コードの実行がClearML によって追跡されていることを示す、保存されているスクリプトコードに関する情報メッセージ。
- トレーニングの進捗状況を確認し、詳細なログを閲覧できるClearML 結果ページへのURLリンク。
- YOLO11 モデルと指定されたデータセットの進捗状況をダウンロードし、続いてモデル・アーキテクチャとトレーニング構成の概要を表示します。
- TensorBoard、AutomaticMixed Precision(AMP)、データセットの準備など、さまざまなトレーニングコンポーネントの初期化メッセージ。
- 最後に、指定されたデータセット上でモデルが学習するにつれて進捗が更新され、学習プロセスが開始されます。トレーニング中に使用されるパフォーマンス・メトリクスの詳細については、パフォーマンス・メトリクスのガイドをお読みください。
ClearML 結果ページの表示
使用法コードスニペットの出力にあるClearML 結果ページへのURLリンクをクリックすると、モデルのトレーニングプロセスの包括的なビューにアクセスできます。
ClearML 結果ページの主な特徴
-
リアルタイム・メトリックス・トラッキング
- 損失、精度、検証スコアなどの重要なメトリクスを、発生時に追跡します。
- タイムリーなモデル性能調整のための即時フィードバックを提供します。
-
実験比較
- 異なるトレーニングを並べて比較する。
- ハイパーパラメータのチューニングと最も効果的なモデルの特定に不可欠。
-
詳細ログと出力
- 包括的なログ、メトリクスのグラフ表示、コンソール出力にアクセスできます。
- モデルの行動と問題解決について理解を深める。
-
資源利用モニタリング
- CPU 、GPU 、メモリなどの計算リソースの利用状況を監視する。
- トレーニングの効率とコストを最適化する鍵
-
モデル成果物管理
- 学習済みモデルやチェックポイントなどのモデル成果物を表示、ダウンロード、共有できます。
- コラボレーションを強化し、モデルの展開と共有を合理化します。
ClearML 結果ページがどのようなものか、視覚的なウォークスルーは以下のビデオをご覧ください:
見るんだ: YOLO11 MLOpsの統合ClearML
の高度な機能ClearML
ClearML には、MLOps体験を向上させるいくつかの高度な機能があります。
リモート実行
ClearML のリモート実行機能は、異なるマシン上での実験の再現と操作を容易にします。インストールされたパッケージやコミットされていない変更など、重要な詳細をログに記録します。タスクがエンキューされると、ClearML エージェントがそれを取り出し、環境を再作成し、実験を実行し、詳細な結果を報告します。
ClearML エージェントのデプロイは簡単で、以下のコマンドを使用してさまざまなマシンで実行できる:
この設定は、クラウド VM、ローカル GPU、またはラップトップに適用できます。ClearML オートスケーラは、AWS、GCP、Azure などのプラットフォーム上のクラウドワークロードの管理を支援し、エージェントのデプロイを自動化し、リソース予算に基づいてリソースを調整します。
クローン、編集、エンキュー
ClearMLのユーザーフレンドリーなインターフェースにより、タスクのクローン作成、編集、キューイングが簡単に行える。ユーザーは既存の実験のクローンを作成し、UIからパラメータやその他の詳細を調整し、タスクの実行を開始することができます。この合理化されたプロセスにより、タスクを実行するClearML エージェントが更新された設定を使用することが保証され、反復的な実験とモデルの微調整に理想的です。
データセット・バージョン管理
ClearML 、YOLO11 トレーニングワークフローとシームレスに統合する強力なデータセットバージョン管理機能も提供します。この機能により、以下のことが可能になります:
- データセットをコードとは別にバージョン管理する
- 各実験で使用されたデータセットのバージョンを追跡する
- 最新バージョンのデータセットに簡単にアクセスし、ダウンロードすることができます。
ClearML用のデータセットを準備するには、以下の手順に従ってください:
- 標準的なYOLO 構造でデータセットを整理する(画像、ラベルなど)
- 対応するYAMLファイルをデータセット・フォルダーのルートにコピーする。
- ClearML Dataツールを使用してデータセットをアップロードします:
このコマンドを実行すると、トレーニングスクリプトで参照できるバージョン管理されたデータセットがClearML 作成され、再現性とデータへの容易なアクセスが保証されます。
概要
このガイドでは、ClearML とUltralytics'YOLO11 を統合するプロセスを説明しました。初期セットアップから高度なモデル管理まですべてをカバーし、機械学習プロジェクトにおける効率的なトレーニング、実験追跡、ワークフローの最適化のためにClearML を活用する方法を発見していただきました。
使い方の詳細については、ClearML の公式ドキュメントをご覧ください。
さらに、Ultralytics の統合ガイドページでは、Ultralytics のその他の統合や機能について調べることができます。 は、リソースや見識の宝庫です。
よくあるご質問
Ultralytics YOLO11 をClearML と統合するプロセスは?
Ultralytics YOLO11 とClearML の統合には、MLOps のワークフローを合理化するための一連のステップが必要です。まず、必要なパッケージをインストールする:
次に、ClearML SDKをお使いの環境で初期化する:
その後、ClearML Settings ページから、あなたの認証情報を使ってClearML を設定します。モデルの選択とトレーニング設定を含むセットアッププロセス全体の詳細な説明は、YOLO11 モデルトレーニングガイドに記載されています。
なぜ機械学習プロジェクトにUltralytics YOLO11 を使ってClearML を使うべきなのか?
Ultralytics YOLO11 と共にClearML を使用すると、実験追跡の自動化、ワークフローの合理化、および堅牢なモデル管理を可能にすることで、機械学習プロジェクトが強化されます。ClearML は、リアルタイムのメトリクス追跡、リソース使用率のモニタリング、および実験を比較するためのユーザーフレンドリーなインターフェイスを提供します。これらの機能は、モデルのパフォーマンスを最適化し、開発プロセスを効率化するのに役立ちます。MLOps統合ガイドで、そのメリットと手順の詳細をご覧ください。
YOLO11 とClearML の統合中によくある問題のトラブルシューティング方法は?
YOLO11 とClearML の統合中に問題が発生した場合は、「よくある問題」ガイドで解決策とヒントを参照してください。典型的な問題には、パッケージのインストール・エラー、クレデンシャルのセットアップ、または構成の問題があります。このガイドでは、このような一般的な問題を効率的に解決するためのトラブルシューティング手順を順を追って説明します。
YOLO11 モデルトレーニング用のClearML タスクはどのように設定するのですか?
YOLO11 トレーニングのためのClearML タスクのセットアップには、タスクの初期化、モデルバリアントの選択、モデルのロード、トレーニング引数の設定、そして最後にモデルのトレーニングの開始が含まれます。以下に簡単な例を示す:
from clearml import Task
from ultralytics import YOLO
# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")
# Step 2: Selecting the YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 Model
model = YOLO(f"{model_variant}.pt")
# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)
# Step 5: Initiating Model Training
results = model.train(**args)
これらの手順の詳細については、利用ガイドを参照してください。
ClearML YOLO11 トレーニングの結果はどこで見ることができますか?
ClearML でYOLO11 トレーニングスクリプトを実行した後、ClearML 結果ページで結果を表示できます。出力には、ClearML ダッシュボードへの URL リンクが含まれており、メトリックの追跡、実験の比較、リソースの使用状況の監視を行うことができます。結果の表示方法と解釈方法の詳細については、「ClearML 結果ページの表示」のセクションを参照してください。