AzureML üzerinde Ultralytics YOLOv5 🚀 Hızlı Başlangıç#
Microsoft Azure Machine Learning (AzureML) için hazırlanan Ultralytics YOLOv5 hızlı başlangıç kılavuzuna hoş geldin! Bu kılavuz, sanal ortamin oluşturulmasından model ile eğitim yapmaya ve çıkarım çalıştırmaya kadar her şeyi ele alarak YOLOv5'i bir AzureML işlem örneğinde kurma sürecinde sana rehberlik edecek.
Azure nedir?#
Azure, Microsoft'un kapsamlı cloud computing platformudur. İşlem gücü, veritabanları, analitik araçları, machine learning yetenekleri ve ağ çözümleri dahil olmak üzere geniş bir hizmet yelpazesi sunar. Azure, kuruluşların iş yüklerini şirket içi altyapıdan buluta taşımasını kolaylaştırarak Microsoft tarafından yönetilen veri merkezleri aracılığıyla uygulama ve hizmetler oluşturmasına, dağıtmasına ve yönetmesine olanak tanır.
Azure Machine Learning (AzureML) nedir?#
Azure Machine Learning (AzureML), machine learning modellerini geliştirmek, eğitmek ve dağıtmak için tasarlanmış özel bir bulut hizmetidir. Her seviyedeki veri bilimcileri ve geliştiriciler için uygun araçlara sahip işbirlikçi bir ortam sağlar. Temel özellikler arasında automated machine learning (AutoML), model oluşturma için sürükle-bırak arayüzü ve ML yaşam döngüsü üzerinde daha hassas kontrol için güçlü bir Python SDK bulunur. AzureML, predictive modeling süreçlerini uygulamalara dahil etme sürecini basitleştirir.
Ön koşullar#
Bu kılavuzu takip etmek için aktif bir Azure subscription ve bir AzureML workspace erişimine ihtiyacın olacak. Eğer ayarlanmış bir çalışma alanın yoksa, lütfen bir tane oluşturmak için resmi Azure documentation adresine göz at.
Bir İşlem Örneği (Compute Instance) Oluştur#
AzureML'deki bir işlem örneği, veri bilimcileri için yönetilen bulut tabanlı bir iş istasyonu sağlar.
- AzureML çalışma alanına git.
- Sol bölmede Compute (İşlem) seçeneğini belirle.
- Compute instances (İşlem örnekleri) sekmesine git ve New (Yeni) düğmesine tıkla.
- Eğitim veya çıkarım ihtiyaçlarına göre uygun CPU veya GPU kaynaklarını seçerek örneğini yapılandır.
Bir Terminal Aç#
İşlem örneğin çalışmaya başladığında, terminaline doğrudan AzureML stüdyosu içinden erişebilirsin.
- Sol bölmedeki Notebooks bölümüne git.
- Üst açılır menüden işlem örneğini bul.
- Örneğine ait komut satırı arayüzünü açmak için dosya tarayıcısının altındaki Terminal seçeneğine tıkla.

YOLOv5'i Kur ve Çalıştır#
Şimdi ortamı kuralım ve Ultralytics YOLOv5'i çalıştıralım.
Sanal Ortam Oluştur#
Bağımlılıkları yönetmek için sanal ortam kullanmak en iyi uygulamadır. AzureML işlem örneklerinde önceden yüklenmiş olarak gelen Conda kullanacağız. Ayrıntılı bir Conda kurulum kılavuzu için Ultralytics Conda Quickstart Guide sayfasına bak.
Belirli bir Python sürümüyle bir Conda ortamı (ör. yolov5env) oluştur ve bunu etkinleştir:
conda create --name yolov5env -y python=3.10 # Create a new Conda environment
conda activate yolov5env # Activate the environment
conda install pip -y # Ensure pip is installedYOLOv5 Deposunu Klonla#
Git kullanarak resmi Ultralytics YOLOv5 deposunu GitHub üzerinden klonla:
git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5 # Navigate into the directory
# Initialize submodules (if any, though YOLOv5 typically doesn't require this step)
# git submodule update --init --recursiveBağımlılıkları Yükle#
requirements.txt dosyasında listelenen gerekli Python paketlerini yükle. Model dışa aktarma yetenekleri için ONNX de yüklüyoruz.
pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0" # Install ONNX for exportingYOLOv5 Görevlerini Gerçekleştir#
Kurulum tamamlandığında, artık YOLOv5 modelini eğitebilir, doğrulayabilir, çıkarım yapabilir ve dışa aktarabilirsin.
-
Modeli COCO128 gibi bir veri seti üzerinde eğit (Train). Daha fazla ayrıntı için Training Mode belgelerini kontrol et.
# Start training using yolov5s pretrained weights on the COCO128 dataset python train.py --data coco128.yaml --weights yolov5s.pt --img 640 --epochs 10 --batch 16 -
Precision, Recall ve mAP gibi metrikleri kullanarak eğitilmiş modelin performansını doğrula (Validate). Seçenekler için Validation Mode kılavuzuna bakın.
# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640 -
Yeni görseller veya videolar üzerinde çıkarım çalıştır (Run Inference). Çeşitli çıkarım kaynakları için Prediction Mode belgelerini keşfet.
# Run inference with yolov5s on sample images python detect.py --weights yolov5s.pt --source data/images --img 640 -
Dağıtım için modeli ONNX, TensorRT veya CoreML gibi farklı formatlara aktar (Export). Export Mode kılavuzuna ve ONNX Integration sayfasına başvur.
# Export yolov5s to ONNX format python export.py --weights yolov5s.pt --include onnx --img 640
Notebook Kullanımı#
Etkileşimli bir deneyim tercih ediyorsan, bu komutları bir AzureML Notebook içinde çalıştırabilirsin. Conda ortamına bağlı özel bir IPython kernel oluşturman gerekecek.
Yeni bir IPython Çekirdeği Oluştur#
İşlem örneği terminalinde şu komutları çalıştır:
# Ensure your Conda environment is active
# conda activate yolov5env
# Install ipykernel if not already present
conda install ipykernel -y
# Create a new kernel linked to your environment
python -m ipykernel install --user --name yolov5env --display-name "Python (yolov5env)"Çekirdeği oluşturduktan sonra tarayıcını yenile. Bir .ipynb notebook dosyası açtığında veya oluşturduğunda, sağ üstteki çekirdek açılır menüsünden yeni çekirdeğini ("Python (yolov5env)") seç.
Notebook Hücrelerinde Komut Çalıştırma#
-
Python Hücreleri: Python hücrelerindeki kodlar, seçilen
yolov5envçekirdeği kullanılarak otomatik olarak çalıştırılacaktır. -
Bash Hücreleri: Kabuk komutlarını çalıştırmak için hücrenin başında
%%bashsihirli komutunu kullan. Not defterinin çekirdek ortam bağlamını otomatik olarak devralmadıkları için her bash hücresinde Conda ortamını etkinleştirmeyi unutma.%%bash source activate yolov5env # Activate environment within the cell # Example: Run validation using the activated environment python val.py --weights yolov5s.pt --data coco128.yaml --img 640
Tebrikler! Ultralytics YOLOv5'i AzureML üzerinde başarıyla kurdun ve çalıştırdın. Daha fazla keşif için diğer Ultralytics Integrations veya ayrıntılı YOLOv5 documentation sayfalarına göz atmayı düşün. Dağıtık eğitim veya bir uç nokta (endpoint) olarak model dağıtımı gibi gelişmiş senaryolar için AzureML documentation kılavuzunu da faydalı bulabilirsin.