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に加えて、YOLOv5向けの利用しやすいその他のクイックスタートオプションもお試しいただけます。たとえば、ブラウザベースで利用できる Google Colab Notebook や、Amazon AWS のスケーラビリティをご利用いただけます。さらに、コンテナを好む方は、隔離された環境を構築できる 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 Persistent Diskを割り当てます。
- 「Deploy」をクリックし、GCPがカスタムDeep Learning VMをプロビジョニングするまで待ちます。
このVMには、Anaconda Pythonディストリビューションを含む必須のツールとフレームワークがあらかじめインストールされています。Anacondaには、YOLOv5に必要な多くの依存関係がまとめられているため便利です。

ステップ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ドキュメントをご覧ください。
Cloud Storageの活用#
効率的なデータ管理のため、特に大規模なデータセットや多数の実験を扱う場合は、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インスタンスに必要なストレージ容量を削減できます。
まとめ#
おめでとうございます。これで、Ultralytics YOLOv5とGoogle Cloud Platformの計算能力を組み合わせ、その機能を活用できるようになりました。このセットアップは、物体検出プロジェクトにスケーラビリティ、効率性、柔軟性を提供します。個人的な探究、学術研究、または産業用ソリューションの構築など、目的を問わず、クラウド上のAIとMLの世界に向けて大きな一歩を踏み出しました。
モデルのトレーニングと管理を効率化できる、コード不要のUltralytics Platformの利用を検討してください。
進捗を記録し、活発なUltralyticsコミュニティと知見を共有するとともに、コラボレーションやサポートにはGitHubディスカッションなどのリソースを活用してください。それでは、YOLOv5とGCPで革新を続けていきましょう。
MLスキルをさらに高めたいとお考えですか。ドキュメントを読み進め、その他のチュートリアルや知見についてはUltralytics Blogをご覧ください。AIの冒険を続けていきましょう。