Meet YOLO26: next-gen vision AI.

Link to this sectionAWS Deep Learning Instance üzerinde Ultralytics YOLOv5 🚀: Tam Rehberin#

Yüksek performanslı bir derin öğrenme (deep learning) ortamı kurmak, özellikle yeni başlayanlar için göz korkutucu görünebilir. Ancak korkma! 🛠️ Bu rehber, Ultralytics YOLOv5 uygulamasını bir AWS Deep Learning instance üzerinde çalışır hale getirmek için adım adım izlenecek yolu sunar. 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 ortamında dağıtım (deployment) 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 almaktadır.

Link to this sectionAdım 1: AWS Console Girişi#

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

AWS Management Console giriş sayfası

Link to this sectionAdı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.

Instance Başlat Butonu

Link to this sectionDoğru Amazon Machine Image (AMI) Seçimi#

Doğru AMI'yi seçmek çok önemlidir. Bu, instance'ının işletim sistemini ve önceden yüklü yazılımlarını belirler. Arama çubuğuna 'Deep Learning' yaz ve (farklı bir işletim sistemi için özel gereksinimlerin yoksa) en son Ubuntu tabanlı Deep Learning AMI'yi seç. 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, bu da kurulum sürecini önemli ölçüde hızlandırır.

AWS EC2 Deep Learning AMI seçimi

Link to this sectionInstance 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.

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 ile ilgili AWS rehberine bak. On-Demand Pricing kullanarak maliyetleri karşılaştır ve Spot Instance Pricing ile potansiyel tasarruf yollarını keşfet.

Link to this sectionInstance'ı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.

Spot Request Yapılandırması

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.

Link to this sectionAdım 3: Instance'ına Bağlan#

Instance'ının durumu 'running' (çalışıyor) olarak göründüğünde, EC2 panelinden onu 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

Link to this sectionAdı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, resmi YOLOv5 deposunu GitHub üzerinden klonla ve dizinin içine git. Ardından, pip kullanarak gerekli bağımlılıkları yükle. Python 3.8 veya sonraki bir sürüm ortamını kullanman önerilir. Eğitim veya tespit gibi komutları çalıştırdığında, gerekli modeller ve veri kümeleri en son 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ğ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 640

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

Link to this sectionİ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 -h

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

Katkıda bulunanlar

Yorumlar