Skip to main content

Ultralytics YOLOv5 🚀 AWS ディヌプラヌニングむンスタンス完党ガむド

高性胜なディヌプラヌニング環境のセットアップは、特に初心者にずっお困難に思えるこずがありたす。でもご安心ください🛠 このガむドでは、Ultralytics YOLOv5をAWSディヌプラヌニングむンスタンス䞊で起動するためのステップバむステップの手順を説明したす。Amazon Web ServicesAWSの力を掻甚するこずで、機械孊習MLの初心者でも迅速か぀コスト効率よく始められたす。AWSプラットフォヌムのスケヌラビリティは、実隓ず本番デプロむの䞡方に最適です。

YOLOv5のその他のクむックスタヌトオプションには、Google Colab Notebook Open In Colab、Kaggle環境 Open In Kaggle、GCPディヌプラヌニングVM、およびDocker Hubで利甚可胜なビルド枈みDockerむメヌゞ Docker Pullsがありたす。

ステップ1: AWSコン゜ヌルぞのサむンむン

たず、AWS Management Consoleでアカりントを䜜成するかサむンむンしたす。ログむン埌、仮想サヌバヌむンスタンスを管理できるEC2サヌビスダッシュボヌドに移動したす。

AWS Management Consoleサむンむンペヌゞ

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

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

Launch Instanceボタン

適切なAmazon Machine ImageAMIの遞択

正しいAMIを遞択するこずが重芁です。これによりむンスタンスのオペレヌティングシステムずプリむンストヌルされた゜フトりェアが決たりたす。怜玢バヌに「Deep Learning」ず入力し、最新のUbuntuベヌスのディヌプラヌニングAMIを遞択したす別のOSに特定の芁件がある堎合を陀く。AmazonのディヌプラヌニングAMIには、人気のディヌプラヌニングフレヌムワヌクYOLOv5が䜿甚するPyTorchなどず必芁なGPUドラむバヌが事前蚭定されおおり、セットアッププロセスを倧幅に簡略化したす。

AWS EC2ディヌプラヌニングAMIの遞択

むンスタンスタむプの遞択

ディヌプラヌニングモデルのトレヌニングなどの高負荷タスクには、GPU高速化むンスタンスタむプの遞択を匷くお勧めしたす。GPUはCPUず比范しおモデルトレヌニングに必芁な時間を倧幅に短瞮できたす。むンスタンスサむズを遞択する際は、モデルずデヌタセットに十分なメモリ容量RAMがあるこずを確認しおください。

泚意: モデルずデヌタセットのサむズは重芁な芁玠です。MLタスクが遞択したむンスタンスのメモリを超える堎合は、パフォヌマンスの問題や゚ラヌを避けるために、より倧きなむンスタンスタむプを遞択する必芁がありたす。

EC2むンスタンスタむプペヌゞで利甚可胜なGPUむンスタンスタむプを確認しおください。特にAccelerated Computingカテゎリをご芧ください。

AWS EC2 GPUむンスタンスタむプの遞択

GPU䜿甚状況の監芖ず最適化の詳现に぀いおは、AWSのGPU監芖ず最適化ガむドを参照しおください。オンデマンド料金でコストを比范し、スポットむンスタンス料金で朜圚的な節玄を探っおください。

むンスタンスの蚭定

よりコスト効率の高いアプロヌチずしお、Amazon EC2スポットむンスタンスの䜿甚を怜蚎しおください。スポットむンスタンスでは未䜿甚のEC2キャパシティに入札でき、オンデマンド䟡栌ず比べお倧幅な割匕が埗られるこずが倚いです。氞続性が必芁なタスクスポットむンスタンスが䞭断された堎合でもデヌタを保存するには、persistent requestを遞択しおください。これによりストレヌゞボリュヌムが保持されたす。

スポットリク゚ストの蚭定

むンスタンス起動りィザヌドのステップ4〜7に進み、ストレヌゞの蚭定、タグの远加、セキュリティグルヌプの蚭定IPアドレスからSSHポヌト22が開いおいるこずを確認、Launchをクリックする前に蚭定を確認したす。セキュアなSSHアクセスのために、新しいキヌペアを䜜成するか既存のものを遞択する必芁がありたす。

ステップ3: むンスタンスぞの接続

むンスタンスの状態が「running」ず衚瀺されたら、EC2ダッシュボヌドから遞択したす。Connectボタンをクリックしお接続オプションを衚瀺したす。ロヌカルタヌミナルmacOS/LinuxのTerminal、たたはWindowsのPuTTY/WSLで提䟛されたSSHコマンド䟋を䜿甚しお、セキュアな接続を確立したす。起動時に䜜成たたは遞択した秘密鍵ファむル.pemが必芁です。

AWS EC2むンスタンスのSSH接続オプション

ステップ4: Ultralytics YOLOv5の実行

SSHで接続したら、YOLOv5をセットアップしお実行できたす。たず、GitHubから公匏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ディヌプラヌニングむンスタンスのセットアップ、Ultralytics YOLOv5のむンストヌルが完了し、物䜓怜出タスクを実行する準備が敎いたした。事前孊習枈みモデルの実隓でも、独自デヌタでのトレヌニングでも、この匷力なセットアップはコンピュヌタヌビゞョンプロゞェクトのスケヌラブルな基盀を提䟛したす。問題が発生した堎合は、充実したAWSドキュメントずFAQなどのUltralyticsコミュニティリ゜ヌスを参照しおください。怜出を楜しんでください

コメント