Ultralytics YOLO27: ウェイティングリストに登録してください。
はじめる

Google Cloud Platform (GCP) Deep Learning VM で YOLOv5 を使いこなす

Google Cloud Platform(GCP)はクラウドコンピューティングプラットフォームであり、Deep Learning VM はデータサイエンスと機械学習(ML)のタスク向けに事前設定されています。このチュートリアルでは、GCP Deep Learning VM で Ultralytics YOLOv5 をセットアップする方法を説明します。ML を始めたばかりの方にも、経験豊富な実務者にも、YOLOv5 による物体検出モデルのトレーニングと実行までの手順をわかりやすく紹介します。

GCP を初めて利用する方は、$300 分の無料クレジット特典を利用して始めることもできます。

YOLOv5 をすぐに始める方法として、ブラウザー上で利用できる Google Colab Notebook Open In Colab や、スケーラビリティに優れた Amazon AWS があります。環境をカプセル化できる公式 Docker イメージは Docker Hub Docker Pulls からも利用でき、Docker クイックスタートガイドに従って使用できます。

ステップ 1:Deep Learning VM を作成して設定する#

まず、ディープラーニングに最適化された仮想マシンを作成します。

  1. GCP マーケットプレイスに移動し、Deep Learning VM を選択します。
  2. n1-standard-8 インスタンスを選択します。vCPU 8 個とメモリ 30 GB のバランスが取れており、多くの ML タスクに適しています。
  3. GPUを選択します。選択肢はワークロードによって異なりますが、基本的な T4 GPU でもモデルのトレーニングを大幅に高速化できます。
  4. 「初回起動時に NVIDIA GPU ドライバーを自動的にインストールしますか?」のチェックボックスをオンにします。
  5. I/O のボトルネックを防ぐため、300 GB の SSD 永続ディスクを割り当てます。
  6. 「Deploy」をクリックし、GCP がカスタム Deep Learning VM をプロビジョニングするまで待ちます。

この VM には、YOLOv5 に必要な多くの依存関係がまとめて含まれている Anaconda Python ディストリビューションをはじめ、必須のツールとフレームワークが事前にインストールされています。

Deep Learning VM の設定を示す GCP マーケットプレイスのイメージ

ステップ 2:YOLOv5 用に VM を準備する#

次に、YOLOv5 とその依存関係をインストールします。

# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5

# Install dependencies
pip install -r requirements.txt

YOLOv5 の実行には 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

いくつかのコマンドを実行するだけで、ニーズに合わせたカスタム物体検出モデルをトレーニングしたり、事前学習済みの重みから始めてすばやく結果を得たりできます。

GCP VM での 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 をトレーニングするには、次の基本手順に従います。

  1. YOLOv5 形式(画像と対応するラベルファイル)に従ってデータセットを準備します。詳しくは、データセットの概要をご覧ください。

  2. gcloud compute scp またはウェブコンソールの SSH 機能を使って、データセットを GCP VM にアップロードします。

  3. トレーニングデータと検証データのパス、クラス数、クラス名を指定するデータセット設定 YAML ファイル(custom_dataset.yaml)を作成します。

  4. 独自のデータセット 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

データの準備とカスタムデータセットによるトレーニングの詳細な手順については、カスタムデータのトレーニングチュートリアルをご覧ください。

クラウドストレージを活用する#

特に大規模なデータセットや多数の実験を扱う場合は、効率的なデータ管理のために 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 Deep Learning VM 上で Ultralytics YOLOv5 を実行できるようになりました。個人の実験や学術研究から産業用のソリューションまで、さまざまな物体検出プロジェクトに利用できます。

コードを書かずにモデルをトレーニング、管理するには、Ultralytics Platform の利用をご検討ください。

質問や共同作業については、GitHub のディスカッションにご参加ください。

よくある質問#

  • 単一のT4 GPUを搭載したn1-standard-8マシンで、ほとんどのYOLOv5のトレーニングと推論に対応できます。大規模なデータセットや大きなモデルを使う場合はL4またはA100に切り替え、初回起動時にNVIDIAドライバーを自動インストールするオプションを必ず選択してください。

  • アイドル状態のときは、Compute EngineコンソールからVMを停止してください。接続されたディスクには引き続き課金されるため、プロジェクトが完了し、重みをCloud Storageに安全にコピーしたら、VMとディスクを削除してください。

  • 小規模なデータセットにはgcloud compute scpを使用してください。それより大きなデータセットはCloud Storageバケットにアップロードし、gsutil cp -r gs://your-bucket/dataset ./datasets/で取得してください。Googleのネットワーク内では、こちらのほうがはるかに高速です。

  • はい。Deep Learning VMにはPyTorchがすでにインストールされているため、pip install ultralyticsを追加すれば、yolo CLIでYOLO26のトレーニングとエクスポートができます。

コントリビューター

コメント

質問したり、結果を共有したり、ほかの人をサポートしたりできます。