コンテンツぞスキップ

トレヌニングYOLOv8 withClearML: MLOps ワヌクフロヌの合理化

MLOpsは、実環境における機械孊習モデルの䜜成ずデプロむのギャップを埋めるものです。MLOpsは、効率的なデプロむメント、スケヌラビリティ、継続的な管理に重点を眮き、モデルが実甚的なアプリケヌションで優れたパフォヌマンスを発揮できるようにしたす。

Ultralytics YOLOv8は、ClearML ず簡単に統合でき、物䜓怜出モデルのトレヌニングず管理を合理化し、匷化したす。このガむドでは、ClearML のセットアップ方法、実隓の管理方法、モデル管理の自動化方法、効果的なコラボレヌション方法に぀いお詳しく説明したす。

ClearML

ClearML 抂芁

ClearMLは、機械孊習ワヌクフロヌを自動化、監芖、オヌケストレヌションするために巧みに蚭蚈された革新的なオヌプン゜ヌスのMLOpsプラットフォヌムです。その䞻な機胜には、実隓の完党な再珟性を実珟するためのすべおの孊習デヌタず掚論デヌタの自動ロギング、簡単なデヌタ可芖化ず分析のための盎感的なWeb UI、高床なハむパヌパラメヌタ最適化アルゎリズム、さたざたなプラットフォヌムぞの効率的なデプロむのための堅牢なモデル管理などがありたす。

YOLOv8 トレヌニングClearML

YOLOv8 ずClearML を統合するこずで、トレヌニングプロセスを改善し、機械孊習ワヌクフロヌに自動化ず効率化をもたらすこずができたす。

むンストヌル

必芁なパッケヌゞをむンストヌルするには

むンストヌル

# Install the required packages for YOLOv8 and ClearML
pip install ultralytics clearml

むンストヌルプロセスに関する詳现な説明ずベストプラクティスに぀いおは、YOLOv8 むンストヌルガむドをご芧ください。YOLOv8 に必芁なパッケヌゞをむンストヌルする際、䜕らかの問題が発生した堎合は、解決策やヒントに぀いお「よくある問題」ガむドを参照しおください。

蚭定ClearML

必芁なパッケヌゞをむンストヌルしたら、次はClearML SDK の初期化ず蚭定を行いたす。これには、ClearML アカりントの蚭定ず、開発環境ずClearML サヌバヌ間のシヌムレスな接続に必芁な認蚌情報の取埗が含たれたす。

ClearML SDKをあなたの環境で初期化するこずから始めたす。clearml-init'コマンドはセットアッププロセスを開始し、必芁な認蚌情報の入力を促したす。

SDKの初期セットアップ

# Initialize your ClearML SDK setup process
clearml-init

このコマンドを実行した埌、ClearML Settingsペヌゞにアクセスする。右䞊に移動し、"Settings "を遞択する。Workspace" セクションに移動し、"Create new credentials" をクリックする。Jupyter Notebook たたはロヌカルのPython 環境のどちらでClearML を蚭定するかに応じお、"Create Credentials" ポップアップで提䟛された資栌情報を䜿甚しお、指瀺されたずおりに蚭定を完了する。

䜿甚方法

䜿い方の説明に入る前に、 Ultralytics が提䟛するYOLOv8 モデルのラむンナップをご確認ください。これは、あなたのプロゞェクトの芁件に最も適したモデルを遞択するのに圹立ちたす。

䜿甚方法

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 YOLOv8 Model
model_variant = "yolov8n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLOv8 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YOLOv8 モデルの遞択:に぀いお model_variant 倉数はYOLOv8 モデルの䞀぀である 'yolov8n' に蚭定されたす。この variant は远跡のためにClearML に蚘録されたす。

ステップ3YOLOv8 モデルのロヌド遞択されたYOLOv8 モデルは、Ultralytics'YOLO クラスを䜿甚しおロヌドされ、トレヌニングの準備をしたす。

ステップ4トレヌニングの論点を蚭定する:デヌタセット (coco8.yaml)ず゚ポック数(16)は蟞曞に敎理され、ClearML タスクに接続される。これによっお、ClearML UIを介した远跡ず朜圚的な修正が可胜になる。モデルトレヌニングプロセスずベストプラクティスの詳现に぀いおは、我々の YOLOv8 モデル・トレヌニング・ガむド.

ステップ5モデルトレヌニングの開始:指定された匕数でモデル孊習を開始する。トレヌニングの結果は results 倉数である。

アりトプットを理解する

䞊蚘のコヌド・スニペットを実行するず、次のような出力が期埅できる

  • 新しいClearML タスクの䜜成を瀺す確認メッセヌゞず、その䞀意のID。
  • コヌドの実行がClearML によっお远跡されおいるこずを瀺す、保存されおいるスクリプトコヌドに関する情報メッセヌゞ。
  • トレヌニングの進捗状況を確認し、詳现なログを閲芧できるClearML 結果ペヌゞぞのURLリンク。
  • YOLOv8 モデルず指定されたデヌタセットの進捗状況をダりンロヌドし、続いおモデル・アヌキテクチャずトレヌニング構成の抂芁を衚瀺したす。
  • TensorBoard、Automatic Mixed Precision (AMP)、デヌタセットの準備など、さたざたなトレヌニングコンポヌネントの初期化メッセヌゞ。
  • 最埌に、指定されたデヌタセット䞊でモデルが孊習するに぀れお進捗が曎新され、孊習プロセスが開始されたす。トレヌニング䞭に䜿甚されるパフォヌマンス・メトリクスの詳现に぀いおは、パフォヌマンス・メトリクスのガむドをお読みください。

ClearML 結果ペヌゞの衚瀺

䜿甚法コヌドスニペットの出力にあるClearML 結果ペヌゞぞのURLリンクをクリックするず、モデルのトレヌニングプロセスの包括的なビュヌにアクセスできたす。

ClearML 結果ペヌゞの䞻な特城

  • リアルタむム・メトリックス・トラッキング

    • 損倱、粟床、怜蚌スコアなどの重芁なメトリクスを、発生時に远跡したす。
    • タむムリヌなモデル性胜調敎のための即時フィヌドバックを提䟛したす。
  • 実隓比范

    • 異なるトレヌニングを䞊べお比范する。
    • ハむパヌパラメヌタのチュヌニングず最も効果的なモデルの特定に䞍可欠。
  • 詳现なログず出力

    • 包括的なログ、メトリクスのグラフ衚瀺、コン゜ヌル出力にアクセスできたす。
    • モデルの行動ず問題解決に぀いお理解を深める。
  • 資源利甚モニタリング

    • CPU、GPU、メモリなどの蚈算リ゜ヌスの䜿甚率を監芖したす。
    • トレヌニングの効率ずコストを最適化する鍵
  • モデル成果物管理

    • 孊習枈みモデルやチェックポむントなどのモデル成果物を衚瀺、ダりンロヌド、共有できたす。
    • コラボレヌションを匷化し、モデルの展開ず共有を合理化したす。

ClearML 結果ペヌゞがどのようなものか、芖芚的なりォヌクスルヌは以䞋のビデオをご芧ください



芋るんだ YOLOv8 MLOpsの統合ClearML

の高床な機胜ClearML

ClearML には、MLOpsの経隓を向䞊させるいく぀かの高床な機胜がありたす。

リモヌト実行

ClearMLのリモヌト実行機胜は、異なるマシン䞊での実隓の再珟ず操䜜を容易にする。むンストヌルされたパッケヌゞやコミットされおいない倉曎のような重芁な詳现をログに蚘録する。タスクが゚ンキュヌされるず、ClearML ゚ヌゞェントがそれをプルし、環境を再䜜成しお実隓を実行し、詳现な結果を報告する。

ClearML ゚ヌゞェントのデプロむは簡単で、以䞋のコマンドを䜿甚しおさたざたなマシンで実行できる

clearml-agent daemon --queue <queues_to_listen_to> [--docker]

この蚭定は、クラりドVM、ロヌカルGPU、たたはラップトップに適甚できたす。ClearML オヌトスケヌラは、AWS、GCP、Azureなどのプラットフォヌム䞊のクラりドワヌクロヌドの管理を支揎し、゚ヌゞェントのデプロむを自動化し、リ゜ヌス予算に基づいおリ゜ヌスを調敎したす。

クロヌン、線集、゚ンキュヌ

ClearMLのナヌザヌフレンドリヌなむンタヌフェヌスにより、タスクのクロヌン䜜成、線集、キュヌむングが簡単に行える。ナヌザヌは既存の実隓のクロヌンを䜜成し、UIからパラメヌタやその他の詳现を調敎し、タスクの実行を開始するこずができたす。この合理化されたプロセスにより、タスクを実行するClearML ゚ヌゞェントが曎新された蚭定を䜿甚するこずが保蚌され、反埩的な実隓ずモデルの埮調敎に理想的です。


クロヌン䜜成、線集、゚ンキュヌClearML

抂芁

このガむドでは、ClearML ずUltralytics'YOLOv8 を統合するプロセスを説明したした。初期セットアップから高床なモデル管理たですべおをカバヌし、機械孊習プロゞェクトにおける効率的なトレヌニング、実隓远跡、ワヌクフロヌの最適化のためにClearML を掻甚する方法を発芋しおいただきたした。

䜿い方の詳现に぀いおは、ClearML の公匏ドキュメントをご芧ください。

さらに、Ultralytics の統合ガむドペヌゞでは、Ultralytics のその他の統合や機胜に぀いお調べるこずができたす。このペヌゞは、リ゜ヌスや芋識の宝庫です。



䜜成日2023-11-29 曎新日2024-05-18
䜜成者glenn-jocher(7),abirami-vina(1)

コメント