コンテンツへスキップ

Ultralytics YOLOv5 🚀 on AWS Deep Learning Instance:完全ガイド

高性能なディープラーニング環境を構築するのは、特に初心者にとっては大変なことのように思えるかもしれない。しかし恐れることはない!🛠️ このガイドでは、ディープラーニング環境を構築するためのステップバイステップのウォークスルーを提供します。 Ultralytics YOLOv5をAWS Deep Learningインスタンス上で稼働させるためのステップバイステップのウォークスルーを提供します。Amazon Web Services (AWS)のパワーを活用することで、機械学習(ML)に慣れていない人でも、迅速かつコスト効率よく始めることができます。AWSプラットフォームのスケーラビリティは、実験にも本番導入にも理想的です。

YOLOv5 のクイックスタート・オプションには、他にも以下のものがあります。 Google オープン・イン・コラボ, Kaggleの環境 Kaggleで開く, GCPディープラーニングVMで利用可能です。 ドッカー・ハブ ドッカー・プル.

ステップ 1: AWS コンソールのサインイン

まず、アカウントを作成するか、AWS Management Consoleにサインインします。ログインしたら、EC2サービスのダッシュボードに移動し、仮想サーバー(インスタンス)を管理します。

AWSコンソールのサインイン

ステップ 2: インスタンスの起動

EC2のダッシュボードから、「Launch Instance」ボタンをクリックします。これにより、ニーズに合わせた新しい仮想サーバーの作成プロセスが開始される。

インスタンス起動ボタン

適切なアマゾン・マシン・イメージ(AMI)の選択

正しいAMIを選択することは非常に重要である。これにより、インスタンスのオペレーティング・システムとプリインストール・ソフトウェアが決まります。検索バーで「Deep Learning」と入力し、最新のUbuntuベースのDeep Learning AMIを選択する(別のOSに対する特定の要件がある場合を除く)。アマゾンのディープラーニングAMIには、人気のあるディープラーニングフレームワーク(例えば PyTorchYOLOv5使用されるPyTorchのような)と必要なGPU ドライバがあらかじめ設定されており、セットアッププロセスを大幅に効率化する。

AMIを選ぶ

インスタンス・タイプの選択

ディープラーニング・モデルのトレーニングのような負荷の高いタスクでは、GPU選択することを強く推奨します。GPUはCPUに比べてモデルのトレーニングに必要な時間を劇的に短縮することができます。インスタンスサイズを選択する際は、そのメモリ容量(RAM)がモデルとデータセットに対して十分であることを確認してください。

注意:モデルとデータセットのサイズは重要な要素です。MLタスクが、選択したインスタンスが提供する以上のメモリを必要とする場合、パフォーマンスの問題やエラーを避けるために、より大きなインスタンスタイプを選択する必要があります。

利用可能なGPU インスタンスタイプについては、EC2インスタンスタイプのページ、特にAccelerated Computingカテゴリを参照してください。

インスタンスタイプを選択

GPU 使用量の監視と最適化の詳細については、AWSガイドのGPU 監視と最適化を参照してください。On-Demand Pricingでコストを比較し、Spot Instance Pricingで節約の可能性を探る。

インスタンスの設定

Amazon EC2 Spot Instancesを利用すると、より費用対効果の高いアプローチが可能です。スポットインスタンスでは、未使用のEC2容量を入札することができ、オンデマンド価格よりも大幅に割引されることが多い。永続性(Spot Instanceが中断してもデータを保存する)が必要なタスクの場合は、永続リクエストを選択する。これにより、ストレージ容量が永続化されます。

スポットリクエスト設定

インスタンス起動ウィザードのステップ4~7を実行し、ストレージの構成、タグの追加、セキュリティグループの設定(SSHポート22がIPから開いていることを確認)、設定の確認を行った後、[Launch]をクリックします。また、安全なSSHアクセス用に既存のキー・ペアを作成または選択する必要があります。

ステップ3:インスタンスに接続する

インスタンスの状態が「running」と表示されたら、EC2ダッシュボードからインスタンスを選択する。をクリックする。 接続 ボタンをクリックして接続オプションを表示します。ローカルターミナル(macOS/LinuxのTerminalやWindowsのPuTTY/WSLなど)で、提供されているSSHコマンドの例を使用して、安全な接続を確立します。秘密鍵ファイル (.pem)を作成するか、起動時に選択します。

インスタンスに接続する

ステップ4:Ultralytics YOLOv5実行

SSHで接続できたら、YOLOv5セットアップして実行しよう。まず、YOLOv5 公式リポジトリを ギットハブ ディレクトリに移動する。それから pip.を使うことをお勧めする。 Python 3.8環境またはそれ以降。必要なモデルとデータセットは、最新のYOLOv5自動的にダウンロードされます。 リリース トレーニングや検出などのコマンドを実行するとき。

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

# Install required packages
pip install -r requirements.txt

環境が整えば、YOLOv5 様々な作業を始めることができる:

# Train a YOLOv5 model on a custom dataset (e.g., coco128.yaml)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640

# Validate the performance (Precision, Recall, mAP) of a trained model (e.g., yolov5s.pt)
python val.py --weights yolov5s.pt --data coco128.yaml --img 640

# Run inference (object detection) on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos/ --img 640

# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
# See https://docs.ultralytics.com/modes/export/ for more details
python export.py --weights yolov5s.pt --include onnx coreml tflite --img 640

トレーニング検証予測(推論)エクスポートに関する詳細なガイドについては、Ultralytics ドキュメントを参照してください。

オプションのエクストラスワップ・メモリの増加

非常に大きなデータセットを扱っている場合や、トレーニング中にメモリ制限が発生した場合、インスタンスのスワップメモリを増やすことで解決できることがあります。スワップ領域は、システムがディスク領域を仮想RAMとして使用することを可能にします。

# Allocate a 64GB swap file (adjust size as needed)
sudo fallocate -l 64G /swapfile

# Set correct permissions
sudo chmod 600 /swapfile

# Set up the file as a Linux swap area
sudo mkswap /swapfile

# Enable the swap file
sudo swapon /swapfile

# Verify the swap memory is active
free -h

おめでとうございます!AWS Deep Learningインスタンスのセットアップに成功し、Ultralytics YOLOv5インストールし、オブジェクト検出タスクを実行する準備が整いました。事前にトレーニングされたモデルで実験している場合でも、独自のデータでトレーニングしている場合でも、この強力なセットアップはコンピュータビジョンプロジェクトのためのスケーラブルな基盤を提供します。何か問題が発生した場合は、広範なAWSドキュメントや FAQのようなUltralytics コミュニティのリソースを参照してください。検出をお楽しみください!



📅作成:1年前 ✏️更新:1ヶ月前

コメント