Google Cloud Platform (GCP) Deep Learning VM上でのYOLOv5デプロイメントの習得#
人工知能 (AI) および 機械学習 (ML) の世界へ踏み出すことは、特にクラウド コンピューティングプラットフォームのパワーと柔軟性を活用する場合、非常に胸躍る体験となります。Google Cloud Platform (GCP) は、ML愛好家からプロフェッショナルまで対応した堅牢なツールを提供しています。そのツールの1つが、データ サイエンスおよびMLタスク向けに事前設定されたDeep Learning VMです。このチュートリアルでは、GCP Deep Learning VM 上で Ultralytics YOLOv5 をセットアップする手順を解説します。MLの第一歩を踏み出す方にとっても、経験豊富な実践者にとっても、本ガイドはYOLOv5を活用した物体検出モデルを実装するための明確な道筋を提供します。
🆓 さらに、新しいGCPユーザーであれば、プロジェクトをすぐに開始できる300ドルの無料クレジット特典を利用できます。
GCPに加えて、ブラウザベースの体験ができるGoogle Colab Notebook や、Amazon AWSのスケーラビリティなど、YOLOv5向けの他の手軽なクイックスタートオプションも探索してみてください。さらに、コンテナ愛好家であれば、Docker Hub
で提供されている公式Dockerイメージを使用してカプセル化された環境を構築し、Dockerクイックスタートガイドに従うことができます。
ステップ1: Deep Learning VMの作成と構成#
ディープラーニングに最適化された仮想マシンの作成から始めましょう:
- GCPマーケットプレイスに移動し、Deep Learning VMを選択します。
- n1-standard-8インスタンスを選択してください。これは8個のvCPUと30 GBのメモリのバランスが良く、多くのMLタスクに適しています。
- GPUを選択します。選択はワークロードによって異なります。基本的なT4 GPUであっても、モデルのトレーニングを大幅に加速させます。
- スムーズなセットアップのために、「最初の起動時にNVIDIA GPUドライバを自動的にインストールしますか?」のボックスをチェックしてください。
- I/Oのボトルネックを防ぐために、300 GBのSSD永続ディスクを割り当てます。
- 「デプロイ」をクリックし、GCPがカスタムDeep Learning VMをプロビジョニングするのを待ちます。
このVMには、YOLOv5に必要な多くの依存関係を便利にまとめたAnaconda Pythonディストリビューションをはじめとする、重要なツールとフレームワークが事前にロードされています。

ステップ2: YOLOv5のためのVM準備#
環境のセットアップが完了したら、YOLOv5をインストールして準備を整えましょう:
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install dependencies
pip install -r requirements.txtこのセットアップ プロセスにより、Python環境のバージョン3.8.0以降およびPyTorch 1.8以降が確実に用意されます。私たちのスクリプトは、最新のYOLOv5リリースからモデルとデータセットを自動的にダウンロードし、モデルのトレーニングを開始するプロセスを簡素化します。
ステップ3: YOLOv5モデルの学習とデプロイ#
セットアップが完了したら、GCP VM上でYOLOv5を使用してトレーニング、検証、予測、およびエクスポートを行う準備が整います:
# Train a YOLOv5 model on your dataset (e.g., yolov5s)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640
# Validate the trained model to check Precision, Recall, and mAP
python val.py --weights yolov5s.pt --data coco128.yaml
# Run inference using the trained model on images or videos
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos
# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
python export.py --weights yolov5s.pt --include onnx coreml tfliteわずか数個のコマンドを使用するだけで、YOLOv5により、特定のニーズに合わせたカスタム物体検出モデルのトレーニングを行ったり、事前トレーニング済み重みを利用してさまざまなタスクで迅速な結果を得たりすることが可能になります。エクスポートした後は、さまざまなモデルデプロイオプションを探索してください。

スワップ領域の割り当て(オプション)#
VMのRAM容量を超えるような特に大きなデータセットを扱う場合は、メモリ不足エラーを防ぐためにスワップ領域の追加を検討してください:
# Allocate a 64GB swap file
sudo fallocate -l 64G /swapfile
# Set the correct permissions for the swap file
sudo chmod 600 /swapfile
# Set up the Linux swap area
sudo mkswap /swapfile
# Enable the swap file
sudo swapon /swapfile
# Verify the swap space allocation (should show increased swap memory)
free -hカスタムデータセットの学習#
GCP内でカスタムデータセットを使用してYOLOv5を学習するには、以下の一般的な手順に従ってください:
-
YOLOv5フォーマット(画像と対応するラベルファイル)に従ってデータセットを準備します。手順については、データセットの概要を参照してください。
-
gcloud compute scpまたはウェブコンソールのSSH機能を使用して、データセットをGCP VMにアップロードします。 -
トレーニングデータおよび検証データへのパス、クラス数、およびクラス名を指定するデータセット設定YAMLファイル(
custom_dataset.yaml)を作成します。 -
カスタムデータセットのYAMLを使用し、必要に応じて事前トレーニング済みの重みから開始して、トレーニングプロセスを開始します:
# Example: Train YOLOv5s on a custom dataset for 100 epochs python train.py --img 640 --batch 16 --epochs 100 --data custom_dataset.yaml --weights yolov5s.pt
データの準備とカスタムデータセットでのトレーニングに関する包括的な手順については、Ultralytics YOLOv5 Trainドキュメントを参照してください。
クラウドストレージの活用#
特に大規模なデータセットや多数の実験を行う場合で効率的なデータ管理を行うために、YOLOv5のワークフローをGoogle Cloud Storageと統合します:
# Ensure Google Cloud SDK is installed and initialized
# If not installed: curl https://sdk.cloud.google.com/ | bash
# Then initialize: gcloud init
# Example: Copy your dataset from a GCS bucket to your VM
gsutil cp -r gs://your-data-bucket/my_dataset ./datasets/
# Example: Copy trained model weights from your VM to a GCS bucket
gsutil cp -r ./runs/train/exp/weights gs://your-models-bucket/yolov5_custom_weights/このアプローチにより、大規模なデータセットや学習済みモデルをクラウド上に安全かつコスト効率よく保存でき、VMインスタンスのストレージ要件を最小限に抑えることができます。
結び#
おめでとうございます!Google Cloud Platformの計算能力と組み合わされたUltralytics YOLOv5の機能を活用する準備が整いました。このセットアップは、物体検出プロジェクトのスケーラビリティ、効率性、および汎用性を提供します。個人の探索、学術研究、産業用ソリューションの構築のいずれであっても、クラウド上のAIとMLの世界への大きな一歩を踏み出しました。
モデルのトレーニングと管理を行うための、合理化されたコード不要の体験には、Ultralytics Platformの利用をご検討ください。
進捗状況を記録し、活気あるUltralyticsコミュニティと知見を共有し、コラボレーションやサポートのためにGitHub discussionsなどのリソースを活用することを忘れないでください。それでは、YOLOv5とGCPで革新を進めていきましょう!
MLスキルをさらに高め続けたいですか?ドキュメントを読み込み、Ultralytics Blogを探索して、さらなるチュートリアルや知見を見つけてください。あなたのAIの冒険を続けましょう!