AWS Deep Learning Instance üzerinde Ultralytics YOLOv5 🚀: Tam Rehberin#
Yüksek performanslı bir derin öğrenme ortamı kurmak, özellikle yeni başlayanlar için göz korkutucu gelebilir. Ancak korkma! 🛠️ Bu kılavuz, bir AWS Deep Learning örneğinde Ultralytics YOLOv5 uygulamasını kurup çalıştırmak için adım adım bir yol sunar. Amazon Web Services (AWS) gücünden yararlanarak, makine öğrenimi (ML) dünyasına yeni adım atanlar bile hızlı ve uygun maliyetli bir başlangıç yapabilir. AWS platformunun ölçeklenebilirliği, onu hem denemeler hem de üretime dağıtım için ideal hale getirir.
YOLOv5 için diğer hızlı başlangıç seçenekleri arasında Google Colab Notebook , Kaggle ortamları
, GCP Deep Learning VM ve Docker Hub
üzerinde bulunan önceden derlenmiş Docker imajımız yer alır.
Adım 1: AWS Console Girişi#
Bir hesap oluşturarak veya AWS Management Console oturumu açarak başla. Oturum açtıktan sonra, sanal sunucularını (örneklerini) yönetebileceğin EC2 servis paneline git.

Adım 2: Instance'ını Başlat#
EC2 panelinden Launch Instance butonuna tıkla. Bu, ihtiyaçlarına göre uyarlanmış yeni bir sanal sunucu oluşturma sürecini başlatır.

Doğru Amazon Machine Image (AMI) Seçimi#
Doğru AMI seçimi çok önemlidir. Bu, örneğin için işletim sistemini ve önceden yüklenmiş yazılımı belirler. Arama çubuğuna 'Deep Learning' yaz ve en son Ubuntu tabanlı Deep Learning AMI'yi seç (farklı bir işletim sistemi için özel gereksinimlerin yoksa). Amazon'un Deep Learning AMI'leri, popüler derin öğrenme çerçeveleri (YOLOv5 tarafından kullanılan PyTorch gibi) ve gerekli GPU sürücüleri ile önceden yapılandırılmış olarak gelir ve kurulum sürecini önemli ölçüde kolaylaştırır.

Instance Tipi Seçimi#
Derin öğrenme modelleri eğitmek gibi zorlu görevler için GPU hızlandırmalı bir instance tipi seçmen şiddetle önerilir. GPU'lar, model eğitimi için gereken süreyi CPU'lara kıyasla önemli ölçüde azaltabilir. Bir instance boyutu seçerken, bellek kapasitesinin (RAM) modelin ve veri kümen için yeterli olduğundan emin ol.
Not: Modelinin ve veri kümenin boyutu kritik faktörlerdir. ML görevin seçilen instance'ın sağladığından daha fazla bellek gerektiriyorsa, performans sorunlarını veya hataları önlemek için daha büyük bir instance tipi seçmen gerekecektir.
EC2 Instance Types page sayfasında, özellikle Accelerated Computing kategorisi altında mevcut GPU örnek türlerini incele.

GPU kullanımını izleme ve optimize etme hakkında ayrıntılı bilgi için GPU Monitoring and Optimization hakkındaki AWS kılavuzuna göz at. 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 Instances, boşta kalan EC2 kapasitesi için teklif vermene olanak tanır ve genellikle On-Demand fiyatlarına kıyasla ciddi indirimler sunar. Kalıcılık gerektiren (Spot Instance kesintiye uğrasa bile verileri kaydetme) görevler için persistent request (kalıcı istek) seçeneğini tercih et. Bu, depolama biriminin kalıcı olmasını sağlar.

Depolamayı yapılandırmak, etiketler eklemek, güvenlik gruplarını ayarlamak (SSH portu 22'nin IP'nden 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ına devam et. Ayrıca güvenli SSH erişimi için yeni bir anahtar çifti oluşturman veya mevcut olanlardan birini seçmen gerekecek.
Adım 3: Instance'ına Bağlan#
Örnek durumun 'running' olarak göründüğünde, bunu EC2 panelinden seç. Bağlantı seçeneklerini görüntülemek için Connect düğmesine tıkla. Güvenli bir bağlantı kurmak için yerel terminalinde (macOS/Linux üzerinde Terminal veya Windows üzerinde PuTTY/WSL gibi) sağlanan 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.

Adım 4: Ultralytics YOLOv5 Çalıştırma#
Artık SSH üzerinden bağlandığına göre, YOLOv5'i kurabilir ve çalıştırabilirsin. İlk olarak, GitHub adresinden resmi YOLOv5 deposunu klonla ve dizine git. Ardından, pip kullanarak gerekli bağımlılıkları yükle. Bir Python 3.8 veya sonraki bir sürüm ortamını kullanman önerilir. Eğitim veya algılama gibi komutları çalıştırdığında, gerekli modeller ve veri setleri en son YOLOv5 release 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.txtOrtam hazır olduğuna göre 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 640Training, Validation, Prediction (Inference) ve Exporting hakkında ayrıntılı kılavuzlar için Ultralytics belgelerine başvuru yap.
İsteğe Bağlı Ekstralar: Swap Belleğini Artırma#
Çok büyük veri kümeleriyle çalışıyorsan veya eğitim sırasında bellek sınırlamalarıyla karşılaşıyorsan, instance'ındaki swap belleğini artırmak bazen yardımcı olabilir. Swap 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 -hTebrikler! 🎉 Bir AWS Deep Learning örneğini başarıyla kurdun, Ultralytics YOLOv5 yükledin ve nesne tespiti görevlerini gerçekleştirmeye hazırsın. Önceden eğitilmiş modellerle denemeler yapıyor veya kendi verilerinle eğitim gerçekleştiriyor ol, bu güçlü kurulum bilgisayarla görü projelerin için ölçeklenebilir bir temel sağlar. Herhangi bir sorunla karşılaşırsan, kapsamlı AWS belgelerine ve SSS gibi yararlı Ultralytics topluluk kaynaklarına danış. İyi tespitler!