Ultralytics YOLOv5 🚀 on AzureML クイックスタート
Ultralytics ようこそ YOLOv5クイックスタートガイドへようこそ!このガイドでは、AzureMLコンピュートインスタンス上でのYOLOv5 セットアップについて、仮想環境の作成からモデルのトレーニング、推論の実行までを説明します。
アジュールとは?
Azureは Microsoft包括的なクラウド・コンピューティング・プラットフォームである。コンピューティングパワー、データベース、分析ツール、機械学習機能、ネットワークソリューションなど、膨大なサービスを提供している。Azureは、Microsoftデータセンターを通じて、企業がアプリケーションやサービスを構築、展開、管理することを可能にし、オンプレミスのインフラからクラウドへのワークロードの移行を促進する。
Azure Machine Learning(AzureML)とは?
Azure Machine Learning(AzureML)は、機械学習モデルの開発、トレーニング、デプロイのために設計された特化型クラウドサービスです。あらゆるスキルレベルのデータサイエンティストや開発者に適したツールを備えたコラボレーション環境を提供する。主な機能には、自動機械学習(AutoML)、モデル作成のためのドラッグ&ドロップ・インターフェース、および強力な PythonSDKがあり、MLのライフサイクルをより詳細に制御できます。AzureMLは、予測モデリングをアプリケーションに組み込むプロセスを簡素化します。
前提条件
このガイドに従うには、アクティブなAzureサブスクリプションと AzureMLワークスペースへのアクセスが必要です。ワークスペースを設定していない場合は、Azureの公式ドキュメントを参照して作成してください。
コンピュートインスタンスの作成
AzureMLのコンピュートインスタンスは、データサイエンティストのためのマネージドクラウドベースのワークステーションを提供する。
- AzureMLワークスペースに移動します。
- 左側のペインで、Computeを選択する。
- Compute instancesタブに行き、Newをクリックする。
- 適切なCPU またはCPU 選択してインスタンスを構成する。 GPUリソースを選択してインスタンスを構成します。
ターミナルを開く
コンピュートインスタンスが実行されると、AzureMLスタジオから直接ターミナルにアクセスできます。
- 左ペインのノートブックセクションに移動します。
- 一番上のドロップダウンメニューからコンピュートインスタンスを探します。
- ファイル・ブラウザーの下にあるターミナル・オプションをクリックして、インスタンスへのコマンドライン・インターフェースを開きます。
YOLOv5セットアップと実行
それでは、Ultralytics YOLOv5実行するための環境をセットアップしてみよう。
1.仮想環境を作る
仮想環境を使って依存関係を管理するのがベストプラクティスだ。ここでは、AzureMLコンピュートインスタンスにプリインストールされているCondaを使用します。Condaの詳細なセットアップガイドについては、Ultralytics Condaクイックスタートガイドを参照してください。
Conda環境を作成する(例. yolov5env
)を特定のPython バージョンでアクティベートする:
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
2.YOLOv5 リポジトリをクローンする
GitHubから Gitを使って Ultralytics YOLOv5 公式リポジトリをクローンする:
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
3.依存関係のインストール
にリストされている必要なPython パッケージをインストールする。 requirements.txt
ファイルをインストールします。また ONNX モデルのエクスポート機能
pip install -r requirements.txt # Install core dependencies
pip install onnx > =1.12.0 # Install ONNX for exporting
4.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
-
Precision、Recall、mAPなどのメトリクスを使用して、学習済みモデルのパフォーマンスを検証します。オプションについては、検証モードガイドを参照してください。
# 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ような異なるフォーマットにエクスポートする、 TensorRTや CoreMLなどのさまざまな形式にエクスポートします。Export ModeガイドとONNX Integrationページを参照してください。
# Export yolov5s to ONNX format python export.py --weights yolov5s.pt --include onnx --img 640
ノートを使う
インタラクティブな体験を好むなら、AzureMLノートブック内でこれらのコマンドを実行できます。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
ノートブックファイルを開き、右上のカーネルドロップダウンメニューから新しいカーネル(Python (yolov5env)")を選択します。
ノートブックのセルでコマンドを実行する
-
Python 細胞 Python セル内のコードは、選択した
yolov5env
カーネル -
Bash 細胞: シェルコマンドを実行するには
%%bash
magicコマンドをセルの最初に書いてください。ノートブックのカーネル環境コンテキストを自動的に継承するわけではないので、bash セル内で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のドキュメントが役に立つかもしれません。