YOLOv8 AzureML上の🚀。
アジュールとは?
AzureはMicrosoftのクラウド・コンピューティング・プラットフォームで、企業がオンプレミスのデータセンターからクラウドにワークロードを移行するのを支援するように設計されている。コンピューティング、データベース、アナリティクス、機械学習、ネットワーキングなど、あらゆるクラウドサービスが揃っており、ユーザーはこれらのサービスから好きなものを選んで、パブリッククラウド上で新しいアプリケーションを開発・拡張したり、既存のアプリケーションを実行したりすることができる。
Azure Machine Learning(AzureML)とは?
Azure Machine Learning(通称AzureML)は、データサイエンティストや開発者がアプリケーションに予測分析を効率的に組み込むことを可能にするフルマネージドクラウドサービスで、組織が膨大なデータセットを利用し、機械学習にクラウドのあらゆるメリットをもたらすことを支援します。AzureMLは、機械学習を利用しやすく、使いやすく、スケーラブルにすることを目的としたさまざまなサービスと機能を提供する。AzureMLは、自動機械学習、ドラッグ・アンド・ドロップによるモデルトレーニング、堅牢なPython SDKなどの機能を提供し、開発者が機械学習モデルを最大限に活用できるようにします。
AzureML はYOLO ユーザーにどのようなメリットをもたらすのか?
YOLO (You Only Look Once)のユーザーにとって、AzureMLは機械学習モデルのトレーニングとデプロイの両方に、堅牢でスケーラブルかつ効率的なプラットフォームを提供します。AzureMLの柔軟でユーザーフレンドリーな環境は、迅速なプロトタイプの実行から、より広範なデータを扱うためのスケールアップまで、ニーズに合わせてさまざまなツールやサービスを提供します。AzureMLを活用することで、次のことが可能になります:
- トレーニングのための大規模なデータセットと計算リソースを簡単に管理できます。
- データ前処理、特徴選択、モデルトレーニングのための組み込みツールを活用。
- モデルやデータのモニタリング、監査、バージョン管理など、MLOps(機械学習オペレーション)の機能により、より効率的なコラボレーションを実現。
この後のセクションでは、AzureML を使ってYOLOv8 オブジェクト検出モデルを実行する方法を、コンピュートターミナルまたはノートブックからのクイックスタートガイドで詳しく説明します。
前提条件
始める前に、AzureML ワークスペースにアクセスできることを確認してください。お持ちでない場合は、Azure の公式ドキュメントに従って、新しいAzureML ワークスペースを作成できます。このワークスペースは、すべてのAzureMLリソースを一元管理する場所として機能します。
コンピュート・インスタンスの作成
AzureMLワークスペースから、Compute > Compute instances > Newを選択し、必要なリソースを持つインスタンスを選択します。
ターミナルからのクイックスタート
コンピュータを起動し、ターミナルを開く:
仮想envの作成
condaのvirtualenvを作成し、そこにpipをインストールする:
必要な依存関係をインストールします:
YOLOv8 タスクの実行
予想する:
検出モデルを初期学習速度0.01で10エポック学習させる:
Ultralytics CLI の詳しい使い方はこちらをご覧ください。
ノートブックからのクイックスタート
新しいIPythonカーネルを作る
コンピュートターミナルを開きます。
計算ターミナルから、依存関係を管理するためにノートブックで使用する新しいipykernelを作成する必要があります:
conda create --name yolov8env -y
conda activate yolov8env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolov8env --display-name "yolov8env"
ターミナルを閉じ、新しいノートブックを作成します。ノートブックから新しいカーネルを選択できます。
それからノートブックのセルを開き、必要な依存関係をインストールすることができる:
%%bash
source activate yolov8env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0
を使用する必要があることに注意してください。 source activate yolov8env
bashセルが私たちの望む環境を使うようにするためです。
を使っていくつかの予測を実行する。 Ultralytics CLI:
%%bash
source activate yolov8env
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
あるいは、Ultralytics Python インターフェイスを使って、例えばモデルをトレーニングする:
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n.pt") # load an official YOLOv8n model
# Use the model
model.train(data="coco8.yaml", epochs=3) # train the model
metrics = model.val() # evaluate model performance on the validation set
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
path = model.export(format="onnx") # export the model to ONNX format
YOLOv8 タスクの実行には、上記のターミナルのセクションで説明したように、Ultralytics CLI またはPython インターフェイスのいずれかを使用することができます。
これらのステップに従うことで、YOLOv8 を AzureML 上で素早く動作させることができるようになります。より高度な使い方については、このガイドの冒頭にリンクされている AzureML の完全なドキュメントを参照してください。
AzureMLでもっと調べる
このガイドは、YOLOv8 on AzureML を使い始めるための入門書です。しかし、AzureML が提供できることの表面をなぞっただけです。より深く掘り下げ、機械学習プロジェクトのためにAzureMLの可能性をフルに引き出すには、以下のリソースを調べることを検討してください:
- データアセットの作成:AzureML環境内でデータアセットを効果的にセットアップし、管理する方法を学びます。
- AzureMLジョブを開始します:AzureMLで機械学習トレーニングのジョブを開始する方法を包括的に理解しましょう。
- モデルを登録する登録、バージョニング、デプロイメントを含むモデル管理のプラクティスに慣れる。
- AzureMLPython SDKでYOLOv8 :AzureMLPython SDK を使用してYOLOv8 モデルをトレーニングするためのステップバイステップガイドをご覧ください。
- TrainYOLOv8 with AzureMLCLI: AzureML上のYOLOv8 モデルのトレーニングと管理を効率化するコマンドラインインターフェイスの活用方法をご紹介します。