Google Cloud Platform(GCP)のディープラーニングVMでYOLOv5 デプロイをマスターする
人工知能(AI)と機械学習(ML)の旅に出ることは、特にクラウド・コンピューティング・プラットフォームのパワーと柔軟性を活用する場合、爽快なものになります。Google Cloud Platform(GCP)は、ML愛好家や専門家向けに調整された堅牢なツールを提供している。そのようなツールの1つがDeep Learning VMで、データサイエンスとMLタスク用にあらかじめ設定されています。このチュートリアルでは Ultralytics YOLOv5をGCP Deep Learning VM上でセットアップするプロセスをナビゲートします。MLの第一歩を踏み出そうとしている方にも、経験豊富な実務家の方にも、このガイドはYOLOv5 物体検出モデルの実装への明確な道筋を提供します。
🆓 さらに、GCPの新規ユーザーには、プロジェクトを開始するための300ドルの無料クレジットが提供されます。
GCP 以外にも、YOLOv5 のクイックスタート・オプションがあります。 Google ブラウザベースのエクスペリエンスや、拡張性に優れた アマゾンAWS.さらに、コンテナ愛好家の方は、以下の公式Dockerイメージを利用することができます。 ドッカー・ハブ
カプセル化された環境では Dockerクイックスタートガイド.
ステップ1:ディープラーニングVMの作成と設定
ディープラーニングに最適化された仮想マシンを作ることから始めよう:
- GCPマーケットプレイスに移動し、Deep Learning VMを選択する。
- n1-standard-8インスタンスを選択します。これは8つのvCPUと30GBのメモリのバランスを提供し、多くのMLタスクに適しています。
- 選択 GPU.基本的なT4GPU あっても、モデル・トレーニングを大幅に加速します。
- シームレスなセットアップのために、「InstallNVIDIA GPU driver automatically on first startup?
- I/Oボトルネックを防ぐために、300GBのSSD永続ディスクを割り当てます。
- Deploy」をクリックし、GCPにカスタムDeep Learning VMのプロビジョニングを許可する。
このVMには、Anaconda Python ディストリビューションを含む必要不可欠なツールやフレームワークがあらかじめ搭載されており、YOLOv55に必要な多くの依存関係を便利にバンドルしている。
ステップ2:YOLOv5用VMの準備
環境を整えたら、YOLOv5 インストールして準備しよう:
# Clone the YOLOv5 repository from GitHub
git clone https://github.com/ultralytics/yolov5
# Navigate into the cloned repository directory
cd yolov5
# Install the required Python packages listed in requirements.txt
pip install -r requirements.txt
このセットアッププロセスでは、Python バージョン3.8.0以降と PyTorch1.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 フォーマット(画像と対応するラベルファイル)に従ってデータセットを準備する。ガイダンスについては、データセットの概要をご覧ください。
- を使用してデータセットをGCP VMにアップロードします。
gcloud compute scp
またはウェブコンソールのSSH機能を使ってください。 - データセット設定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インスタンスに必要なストレージを最小限に抑えることができます。
結びの言葉
おめでとうございます!これで、Ultralytics YOLOv5 5の機能とGoogle Cloud Platformの計算能力を組み合わせて利用できるようになりました。このセットアップは、あなたの物体検出プロジェクトにスケーラビリティ、効率性、汎用性を提供します。個人的な探求、学術研究、産業ソリューションの構築など、クラウド上のAIとMLの世界へ大きな一歩を踏み出しました。
Ultralytics HUBを使用することで、合理化されたコード不要のエクスペリエンスでモデルのトレーニングと管理を行うことができます。
進捗状況を記録し、活気あるUltralytics コミュニティと洞察を共有し、コラボレーションやサポートのためにGitHubディスカッションなどのリソースを活用することを忘れないでください。さあ、YOLOv5 GCPでイノベーションを起こしてください!
MLのスキルをさらに高めたいですか?Ultralytics ドキュメントを読み、Ultralytics ブログでチュートリアルや洞察をご覧ください。AIの冒険を続けましょう!