AzureMLにおけるUltralytics YOLOv5 🚀クイックスタート

Microsoft Azure Machine Learning (AzureML)向けUltralytics YOLOv5クイックスタートガイドへようこそ!本ガイドでは、AzureMLコンピュートインスタンス上でYOLOv5をセットアップする方法を、仮想環境の作成からモデルのトレーニングおよび推論の実行まで順を追って解説します。

Azureとは何ですか?

Azureは、Microsoftが提供する包括的なクラウドコンピューティングプラットフォームです。コンピューティングパワー、データベース、分析ツール、機械学習機能、ネットワークソリューションなど、多岐にわたるサービスを提供しています。Azureを利用することで、組織はMicrosoftが管理するデータセンターを通じてアプリケーションやサービスを構築、デプロイ、管理でき、オンプレミス環境からのワークロード移行が容易になります。

Azure Machine Learning (AzureML) とは何ですか?

Azure Machine Learning (AzureML)は、機械学習モデルの開発、トレーニング、デプロイを目的とした専門的なクラウドサービスです。データサイエンティストやあらゆるスキルレベルの開発者に適したツールを備えた共同作業環境を提供します。主な機能には、自動機械学習 (AutoML)、モデル作成のためのドラッグ&ドロップインターフェース、MLライフサイクルを詳細に制御するための強力なPython SDKなどがあります。AzureMLは、予測モデリングをアプリケーションに組み込むプロセスを簡素化します。

前提条件

本ガイドを進めるには、有効なAzureサブスクリプションAzureMLワークスペースへのアクセス権が必要です。ワークスペースをまだ設定していない場合は、公式のAzureドキュメントを参照して作成してください。

コンピュートインスタンスの作成

AzureMLのコンピュートインスタンスは、データサイエンティスト向けにマネージドされたクラウドベースのワークステーションを提供します。

  1. AzureMLワークスペースに移動します。
  2. 左側のペインでCompute(コンピュート)を選択します。
  3. Compute instances(コンピュートインスタンス)タブに移動し、New(新規)をクリックします。
  4. トレーニングや推論のニーズに応じて、適切なCPUまたはGPUリソースを選択し、インスタンスを設定します。
Azure ML create compute instance interface

ターミナルの起動

コンピュートインスタンスが実行中であれば、AzureML Studioから直接そのターミナルにアクセスできます。

  1. 左側のペインにあるNotebooksセクションに移動します。
  2. 上部のドロップダウンメニューからコンピュートインスタンスを見つけます。
  3. ファイルブラウザの下にあるTerminalオプションをクリックして、インスタンスのコマンドラインインターフェースを開きます。

Azure MLターミナルを開くボタンの場所

YOLOv5のセットアップと実行

それでは、環境をセットアップしてUltralytics YOLOv5を実行しましょう。

仮想環境の作成

依存関係を管理するために仮想環境を使用するのがベストプラクティスです。AzureMLコンピュートインスタンスにはプリインストールされているCondaを使用します。詳細なCondaセットアップガイドについては、UltralyticsのCondaクイックスタートガイドを参照してください。

特定のPythonバージョンでConda環境(例: yolov5env)を作成し、アクティブ化します:

conda create --name yolov5env -y python=3.10 # Create a new Conda environment
conda activate yolov5env                     # Activate the environment
conda install pip -y                         # Ensure pip is installed

YOLOv5リポジトリのクローン

Clone the official Ultralytics YOLOv5 repository from GitHub using Git:

git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5                                       # Navigate into the directory
# Initialize submodules (if any, though YOLOv5 typically doesn't require this step)
# git submodule update --init --recursive

依存関係のインストール

requirements.txtファイルに記載されている必要なPythonパッケージをインストールします。また、モデルのエクスポート機能のためにONNXもインストールします。

pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0"      # Install ONNX for exporting

YOLOv5タスクの実行

セットアップが完了したら、YOLOv5モデルのトレーニング、検証、推論、エクスポートを実行できます。

  • COCO128のようなデータセットでモデルをトレーニングします。詳細についてはトレーニングモードのドキュメントを確認してください。

    # Start training using yolov5s pretrained weights on the COCO128 dataset
    python train.py --data coco128.yaml --weights yolov5s.pt --img 640 --epochs 10 --batch 16
  • PrecisionRecallmAPなどの指標を使用して、トレーニング済みモデルのパフォーマンスを検証します。オプションについては検証モードガイドを参照してください。

    # Validate the yolov5s model on the COCO128 validation set
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640
  • 新しい画像や動画に対して推論を実行します。多様な推論ソースについては予測モードのドキュメントを確認してください。

    # Run inference with yolov5s on sample images
    python detect.py --weights yolov5s.pt --source data/images --img 640
  • デプロイに向けてモデルをONNX、TensorRTCoreMLなどの異なるフォーマットにエクスポートします。エクスポートモードガイドおよびONNX統合ページを参照してください。

    # Export yolov5s to ONNX format
    python export.py --weights yolov5s.pt --include onnx --img 640

Notebookの使用

インタラクティブな操作を好む場合は、AzureML Notebook内でこれらのコマンドを実行できます。Conda環境にリンクされたカスタムIPythonカーネルを作成する必要があります。

新しいIPythonカーネルの作成

コンピュートインスタンスのターミナルで以下のコマンドを実行します:

# Ensure your Conda environment is active
# conda activate yolov5env

# Install ipykernel if not already present
conda install ipykernel -y

# Create a new kernel linked to your environment
python -m ipykernel install --user --name yolov5env --display-name "Python (yolov5env)"

カーネルを作成したら、ブラウザを更新してください。.ipynb notebookファイルを開くか作成する際に、右上のカーネルドロップダウンメニューから新しいカーネル("Python (yolov5env)")を選択します。

Notebookセルでのコマンド実行

  • Pythonセル: Pythonセル内のコードは、選択されたyolov5envカーネルを使用して自動的に実行されます。

  • Bashセル: シェルコマンドを実行するには、セルの先頭で%%bashマジックコマンドを使用します。各BashセルはNotebookのカーネル環境のコンテキストを自動的に継承しないため、それぞれのセル内で必ずConda環境をアクティブ化してください。

    %%bash
    source activate yolov5env # Activate environment within the cell
    
    # Example: Run validation using the activated environment
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640

おめでとうございます!AzureML上でUltralytics YOLOv5のセットアップと実行が完了しました。さらなる探索として、他のUltralytics統合や詳細なYOLOv5ドキュメントを確認することをお勧めします。分散トレーニングやモデルのエンドポイントとしてのデプロイといった高度なシナリオには、AzureMLドキュメントが役立ちます。

コメント