AWS Deep Learning Instance üzerinde Ultralytics YOLOv5 🚀: Eksiksiz Rehberin

Yüksek performanslı bir derin öğrenme ortamı kurmak, özellikle yeni başlayanlar için göz korkutucu görünebilir. Ama korkma! 🛠️ Bu rehber, Ultralytics YOLOv5 uygulamasını bir AWS Deep Learning instance'ında çalıştırman için adım adım bir yol haritası sunuyor. Amazon Web Services (AWS) gücünden yararlanarak, makine öğrenimine (ML) yeni başlayanlar bile hızlı ve uygun maliyetli bir şekilde işe koyulabilir. AWS platformunun ölçeklenebilirliği, onu hem denemeler hem de üretim dağıtımı için ideal kılar.

YOLOv5 için diğer hızlı başlangıç seçenekleri arasında Google Colab Notebook Open In Colab, Kaggle ortamları Open In Kaggle, GCP Deep Learning VM ve Docker Hub üzerinde bulunan hazır Docker imajımız Docker Pulls yer alır.

Adım: AWS Konsoluna Giriş

Bir hesap oluşturarak veya AWS Management Console üzerinden giriş yaparak başla. Giriş yaptıktan sonra, sanal sunucularını (instance'larını) yönetebileceğin EC2 hizmet panosuna git.

AWS Management Console giriş sayfası

Adım: Instance'ını Başlat

EC2 panosundan Launch Instance butonuna tıkla. Bu, ihtiyaçlarına göre özelleştirilmiş yeni bir sanal sunucu oluşturma sürecini başlatır.

Launch Instance Butonu

Doğru Amazon Machine Image (AMI) Seçimi

Choosing the correct AMI is crucial. This determines the operating system and pre-installed software for your instance. In the search bar, type 'Deep Learning' and select the latest Ubuntu-based Deep Learning AMI (unless you have specific requirements for a different OS). Amazon's Deep Learning AMIs come pre-configured with popular deep learning frameworks (like PyTorch, used by YOLOv5) and necessary GPU drivers, significantly streamlining the setup process.

AWS EC2 Deep Learning AMI seçimi

Instance Tipi Seçimi

Derin öğrenme modellerini eğitmek gibi zorlu görevler için GPU hızlandırmalı bir instance tipi seçmen şiddetle tavsiye edilir. GPU'lar, CPU'lara kıyasla model eğitimi için gereken süreyi ciddi oranda azaltabilir. Bir instance boyutu seçerken, bellek kapasitesinin (RAM) modelin ve veri setin için yeterli olduğundan emin ol.

Not: Modelinin ve veri setinin boyutu kritik faktörlerdir. ML görevin seçtiğin instance'ın sağladığından daha fazla bellek gerektiriyorsa, performans sorunlarından veya hatalardan kaçınmak için daha büyük bir instance tipi seçmen gerekir.

Mevcut GPU instance tiplerini, özellikle Accelerated Computing kategorisi altındaki EC2 Instance Types sayfası üzerinden incele.

AWS EC2 GPU instance tipi seçimi

GPU kullanımını izleme ve optimize etme hakkında ayrıntılı bilgi için GPU Monitoring and Optimization AWS rehberine başvur. On-Demand Pricing ile maliyetleri karşılaştır ve Spot Instance Pricing ile potansiyel tasarrufları keşfet.

Instance'ını Yapılandırma

Daha uygun maliyetli bir yaklaşım için Amazon EC2 Spot Instances kullanmayı düşün. Spot Instance'lar, genellikle On-Demand fiyatlarına göre önemli bir indirimle kullanılmayan EC2 kapasitesi için teklif vermeni sağlar. Kalıcılık gerektiren (Spot Instance kesintiye uğrasa bile verilerin kaydedilmesi) görevler için bir persistent request seç. Bu, depolama biriminin kalıcı olmasını sağlar.

Spot İstek Yapılandırması

Depolamayı yapılandırmak, etiketler eklemek, güvenlik gruplarını ayarlamak (SSH portu 22'nin IP'nden erişime açık olduğundan emin ol) ve Launch butonuna tıklamadan önce ayarlarını gözden geçirmek için instance başlatma sihirbazının 4-7. adımlarını izle. Ayrıca güvenli SSH erişimi için yeni bir anahtar çifti oluşturman veya mevcut olanı seçmen gerekecek.

Adım: Instance'ına Bağlan

Instance'ının durumu 'running' olarak göründüğünde, onu EC2 panelinden seç. Bağlantı seçeneklerini görüntülemek için Connect butonuna tıkla. Güvenli bir bağlantı kurmak için yerel terminalinde (macOS/Linux'ta Terminal veya Windows'ta PuTTY/WSL gibi) verilen SSH komut örneğini kullan. Başlatma sırasında oluşturduğun veya seçtiğin özel anahtar dosyasına (.pem) ihtiyacın olacak.

AWS EC2 instance SSH bağlantı seçenekleri

Adım: Ultralytics YOLOv5'i Çalıştırma

Artık SSH üzerinden bağlandığına göre YOLOv5'i kurabilir ve çalıştırabilirsin. Öncelikle resmi YOLOv5 deposunu GitHub üzerinden klonla ve dizine git. Ardından, pip kullanarak gerekli bağımlılıkları yükle. Python 3.8 veya sonraki bir sürümünü kullanman önerilir. Eğitim veya tespit gibi komutları çalıştırdığında gerekli modeller ve veri setleri en güncel YOLOv5 sürümünden otomatik olarak indirilecektir.

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

# Install required packages
pip install -r requirements.txt

Ortam hazır olduğunda, YOLOv5'i çeşitli görevler için kullanmaya başlayabilirsin:

# 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

Eğitim, Doğrulama, Tahmin (Çıkarım) ve Dışa Aktarma ile ilgili ayrıntılı rehberler için Ultralytics belgelerine başvur.

İsteğe Bağlı Ekstralar: Takas (Swap) Belleğini Artırma

Çok büyük veri setleriyle çalışıyorsan veya eğitim sırasında bellek sınırlamalarıyla karşılaşıyorsan, instance'ındaki takas belleğini artırmak bazen yardımcı olabilir. Takas alanı, sistemin disk alanını sanal RAM olarak kullanmasına olanak tanır.

# 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

Tebrikler! 🎉 Başarıyla bir AWS Deep Learning instance'ı kurdun, Ultralytics YOLOv5'i yükledin ve nesne tespiti görevlerini gerçekleştirmeye hazırsın. İster önceden eğitilmiş modellerle denemeler yap, ister kendi verilerinle eğitim yap; bu güçlü kurulum, bilgisayarlı görü projelerin için ölçeklenebilir bir temel sağlar. Herhangi bir sorunla karşılaşırsan, kapsamlı AWS belgelerine ve SSS gibi faydalı Ultralytics topluluk kaynaklarına başvur. İyi tespitler!

Yorumlar