YOLO Vision 2026:

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 endişelenme! 🛠️ Bu rehber, bir AWS Deep Learning instance'ı üzerinde Ultralytics YOLOv5 uygulamasını çalışır duruma getirmek için adım adım yol gösterir. Amazon Web Services'ın (AWS) gücünden yararlanarak makine öğrenimine (ML) yeni başlayanlar bile hızlı ve uygun maliyetli bir şekilde çalışmaya başlayabilir. AWS platformunun ölçeklenebilirliği, platformu 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 Not Defterimiz Open In Colab, Kaggle ortamları Open In Kaggle, GCP Deep Learning VM ve Docker Hub üzerinde bulunan önceden oluşturulmuş Docker imajımız Docker Pulls yer alır.

Adım: AWS Konsolunda Oturum Açma#

AWS Management Console üzerinde bir hesap oluşturarak veya oturum açarak başla. Oturum açtıktan sonra, sanal sunucularını (instance'larını) yönetebileceğin EC2 hizmeti panosuna git.

AWS Management Console oturum açma sayfası

Adım: Instance'ını Başlatma#

EC2 panosunda Launch Instance düğmesine tıkla. Bu işlem, ihtiyaçlarına göre uyarlanmış yeni bir sanal sunucu oluşturma sürecini başlatır.

Launch Instance düğmesi

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

Doğru AMI'yi seçmek kritik önem taşır. Bu seçim, instance'ın işletim sistemini ve önceden yüklenmiş yazılımlarını belirler. Arama çubuğuna 'Deep Learning' yaz ve en yeni 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 (PyTorch gibi; YOLOv5 tarafından kullanılır) 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.

AWS EC2 Deep Learning AMI seçimi

Instance Türünü Seçme#

Derin öğrenme modellerini eğitmek gibi yoğun işlemler için GPU hızlandırmalı bir instance türü seçmen önemle tavsiye edilir. GPU'lar, model eğitimi için gereken süreyi CPU'lara kıyasla önemli ölçüde azaltabilir. Instance boyutunu seçerken bellek kapasitesinin (RAM) modelin ve veri kümenin ihtiyaçlarını karşılamaya yeterli olduğundan emin ol.

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

Kullanılabilir GPU instance türlerini EC2 Instance Types sayfasında, özellikle Accelerated Computing kategorisi altında incele.

AWS EC2 GPU instance türü seçimi

GPU kullanımını izleme ve optimize etme hakkında ayrıntılı bilgi için AWS'nin GPU Monitoring and Optimization rehberine bak. Maliyetleri On-Demand Pricing ile karşılaştır ve Spot Instance Pricing ile olası tasarrufları incele.

Instance'ını Yapılandırma#

Daha uygun maliyetli bir yaklaşım için Amazon EC2 Spot Instances kullanmayı düşün. Spot Instances, kullanılmayan EC2 kapasitesi için teklif vermene olanak tanır ve çoğu zaman On-Demand fiyatlarına kıyasla önemli bir indirim sunar. Kalıcılık gerektiren görevler için (Spot Instance kesintiye uğrasa bile verileri kaydetmek), persistent request seçeneğini belirle. 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 adresinden erişime açık olduğundan emin ol) ve Launch düğmesine tıklamadan önce ayarlarını gözden geçirmek için instance başlatma sihirbazının 4-7. adımlarını tamamla. Güvenli SSH erişimi için yeni bir anahtar çifti oluşturman veya mevcut bir anahtar çiftini seçmen de gerekir.

Adım: Instance'ına Bağlanma#

Instance durumun 'running' olarak göründüğünde, onu EC2 panosundan seç. Bağlantı seçeneklerini görüntülemek için Connect düğmesine tıkla. Güvenli bir bağlantı kurmak için sağlanan SSH komutu örneğini yerel terminalinde (macOS/Linux'ta Terminal veya Windows'ta PuTTY/WSL gibi) 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ısı seçenekleri

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

Artık SSH üzerinden bağlandığına göre YOLOv5'i kurup çalıştırabilirsin. Önce resmi YOLOv5 deposunu GitHub üzerinden klonla ve dizine geç. Ardından gerekli bağımlılıkları pip kullanarak yükle. Python 3.8 veya daha yeni bir ortam kullanman önerilir. Eğitim ya da algılama gibi komutları çalıştırdığında gerekli modeller ve veri kümeleri en yeni YOLOv5 sürümünden otomatik olarak indirilir.

# 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 hakkında ayrıntılı rehberler için Ultralytics belgelerine başvur.

İsteğe Bağlı Ekler: Takas 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şırsan, 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! 🎉 Bir AWS Deep Learning instance'ını başarıyla kurdun, Ultralytics YOLOv5'i yükledin ve nesne algılama görevlerini gerçekleştirmeye hazırsın. İster önceden eğitilmiş modellerle denemeler yapıyor ister kendi verilerin üzerinde eğitim gerçekleştiriyor ol, 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 yararlı Ultralytics topluluk kaynaklarına başvur. İyi algılamalar!

Yorumlar