Ultralytics Platform ile Amazon S3 Verilerinde YOLO Nasıl Eğitilir ve Barındırılan API Olarak Nasıl Dağıtılır
Amazon S3 bucket'ındaki görsellerle Ultralytics YOLO26'yı eğit ve SageMaker ile karşılaştırarak Ultralytics Platform'da barındırılan bir API olarak adım adım dağıt.
Miles Deans11 dakikalık okuma
Görsellerin zaten bir Amazon S3 bucket'ında bulunuyorsa, veri kümesinin ikinci bir kopyasını yüklemeden bu görsellerle bir Ultralytics YOLO modelini eğitip barındırılan bir API olarak dağıtabilirsin. Ultralytics Platform, bucket'ı yerinde dizine ekler, YOLO26'yı bulutta GPU kullanarak etiketleyip eğitmene olanak tanır ve eğitilmiş modeli HTTPS üzerinden çağırabileceğin özel bir uç noktaya dağıtır. Bu kılavuz, IAM politikasından ilk tahminine kadar her adımı anlatır ve iş akışını Amazon SageMaker, Google Vertex AI ve Azure Machine Learning ile karşılaştırır.
Aynı iş akışı, AWS erişim anahtarı yerine hizmet hesabı JSON anahtarı veya hesap erişim anahtarı bağlantı dizesi kullanarak Google Cloud Storage ve Azure Blob Storage için de geçerlidir.
İş akışının bileşenleri#
İşlem hattı beş aşamadan oluşur. Özgün görsellerin bucket'ında kalır; bulut eğitimi ise çalıştırma süresince geçici kopyalar üzerinde çalışır:
- Salt okunur IAM kullanıcısıyla bir S3 bucket'ı Bağla.
- Bir klasörü Platform veri kümesi olarak Dizine ekle. Platform, görsel boyutlarını ve bulduğu YOLO etiketlerini okur; görsellerin ikinci bir kopyasını saklamaz.
- Görselleri tarayıcıda Etiketle veya bucket'ta zaten bulunan YOLO etiketlerini kullan.
- Bulut GPU'sunda bir YOLO26 modelini Eğit. Eğitim sırasında görsellerin geçici kopyaları kullanılır.
- Modeli 42 bölgeden birindeki özel bir uç noktaya Dağıt ve API anahtarıyla görseller gönder.
Tespit, segmentasyon, poz ve yönlendirilmiş sınırlayıcı kutu (OBB) veri kümeleri etiketlerinin biçiminden tanınır; bu nedenle aynı adımlar her bilgisayarlı görü görevi için geçerlidir.
Başlamadan önce: planlar, izinler ve veri sınırları#
Üç şeye ihtiyacın var:
- Pro veya Enterprise çalışma alanı. Amazon S3, Google Cloud Storage ve Azure Blob Storage veri kümeleri için Pro veya Enterprise planı gerekir. Pro koltuk başına aylık 29 ABD dolarıdır ve bulut eğitimi gibi kullanıma göre ücretlendirilen işlemler için her ay koltuk başına 30 ABD doları kredi içerir.
- Çalışma alanı yöneticisi veya sahibi rolü, bulut depolama alanını bağlamak için gereklidir.
- Bucket'ı listeleyip okuyabilen bir AWS IAM kullanıcısı.
Bağlamadan önce bucket dışına hangi verilerin çıktığını bilmek faydalıdır. Platform, gezinme ve etiketleme için özgün görselleri ihtiyaç oldukça aktarır; dizine eklenen görseller Platform depolama kotana dahil edilmez. Her bağlantıda varsayılan olarak açık olan bir AI özellikleri anahtarı bulunur. Bu özellik açıkken Ultralytics GPU'ları etiketleme, benzer görsel arama ve bulut eğitimi için görselleri okuyabilir. Harici AI sağlayıcıları, çalışma alanının sağlayıcı anahtarını kullanarak ücretli etiketleme modelleri için görselleri ve yazma erişimi etkinleştirildiğinde görsel oluşturma için de görselleri işleyebilir. Bulut eğitimi sırasında geçici kopyalar kullanılır; benzer görsel arama ise görseller Platform'dan kaldırılana kadar gömmeleri saklar. Özelliği kapatırsan yeni AI işlemleri başlamaz (çalışmakta olan işlemler tamamlanır); elle etiketleme ve yerel eğitim çalışmaya devam eder. Platform nesnelerini asla değiştirmez veya silmez.
1. Adım: Salt okunur IAM kullanıcısı oluştur#
AWS konsolunda IAM > Users bölümüne git, konsol erişimi olmayan bir kullanıcı oluştur ve bucket'a listeleme ve okuma erişimi veren bir politika ekle:
{
"Version": "2012-10-17",
"Statement": [
{ "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" },
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetObject"],
"Resource": ["arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*"]
}
]
}s3:ListAllMyBuckets isteğe bağlıdır. Platform'un bucket'larını bulmasını sağlar; böylece adlarını yazman gerekmez.
Ardından kullanıcının Security credentials sekmesini aç ve bir erişim anahtarı oluştur. Platform, uzun ömürlü bir IAM kullanıcı anahtarına ihtiyaç duyar: veri kümesi bağlıyken süreleri dolacağı için rol oturumu kimlik bilgileri ve IAM Identity Center anahtarları dahil geçici AWS STS kimlik bilgilerini kabul etmez. Bunun için özel bir kullanıcı kullan; root kimlik bilgilerini asla kullanma. Platform, anahtarı bekleme sırasında AES-256-GCM ile şifreler ve eğitim iş yüklerine hiçbir zaman açığa çıkarmaz. IAM'de anahtarı devre dışı bırakarak erişimi istediğin zaman iptal edebilirsin.
2. Adım: Bucket'ı Ultralytics Platform'a bağla#
- Platform'da Settings > Integrations bölümüne git ve Amazon S3'ü seç.
- Erişim anahtarı kimliğini, gizli erişim anahtarını ve bucket bölgesini gir; örneğin
us-east-1. - Find available buckets seçeneğine tıkla ve bağlanacak bucket'ları seç veya politika keşfe izin vermiyorsa bucket adını yaz.
- Connect seçeneğine tıkla. Platform, herhangi bir şeyi kaydetmeden önce her bucket'ı listeleyip okuyabildiğini doğrular.
Bir bağlantı tek bir bölgedeki bucket'ları okur; bu nedenle verilerin birkaç bölgeye dağılmışsa her bölge için bir bağlantı kur. Amazon S3 entegrasyon kılavuzu, görsel oluşturma için kullanılan isteğe bağlı yazma iznini açıklar.
3. Adım: Bucket'tan veri kümesi oluştur#
New Dataset seçeneğine tıkla, Cloud sekmesini aç, bucket'ı seç, verilerinin bulunduğu klasöre git ve veri kümesini oluştur. Platform, klasörü bir kez listeler ve bulduklarını dizine ekler:
- Görseller:
.jpg,.jpeg,.png,.webpve.avifnesneleri. - Etiketler: YOLO
.txtdosyaları; standartimages/-labels/düzenine göre veya her görselin yanındaki dosyalar olarak eşleştirilir. - Sınıflar:
data.yamldosyası, normal bir YOLO veri kümesinde olduğu gibi sınıf adlarını sağlar. - Bölmeler:
train,valvetestklasör adları, veri bölmelerini otomatik olarak atar.
Tek bir içe aktarma en fazla 500.000 nesneyi dizine ekler; bu nedenle daha büyük bucket'ları birkaç veri kümesine böl. Dizine eklenen nesneleri değişmez kabul et: her görsel S3 nesnesinin ETag değeriyle eşleştirilir ve üzerine yazılan bir görseli Platform artık sunmaz. Daha sonra veri eklemek için yeni nesneler yükle ve yeni bir veri kümesi oluştur; çünkü dizin, veri kümesi oluşturulurken yalnızca bir kez hazırlanır.
4. Adım: Görselleri etiketle veya kontrol et#
İçe aktarılan etiketleri etiketleme düzenleyicisinde incelemek için veri kümesini aç. Bucket'ta henüz etiket yoksa kutuları ve maskeleri elle çizebilir veya AI özellikleri açıkken akıllı etiketleme (tespit, segmentasyon ve OBB için SAM; poz için YOLO) ile otomatik etiketleme özelliklerini kullanarak süreci hızlandırabilirsin. Etiketler Platform'da saklanır; bucket nesnelerin değişmeden kalır.
5. Adım: YOLO26'yı bulut GPU'sunda eğit#
Veri kümesinde veya projede New Model seçeneğine tıkla, bir temel model seç ve bulut çalıştırmasını başlat:
- Temel model: Resmî bir Ultralytics modeli (YOLO26 önerilir) veya ince ayar yapmak için kendi modellerinden birini seç. Yalnızca veri kümesinin göreviyle uyumlu modeller listelenir.
- Parametreler: epoch sayısını, görsel boyutunu ve batch boyutunu ayarla veya varsayılan değerleri kullan.
- GPU: Ultralytics Cloud'dan bir GPU seç. İletişim kutusu, başlamadan önce saatlik ücreti gösterir ve çalıştırmanın süresini ve toplam maliyetini tahmin eder. Bulut GPU'su seçme kılavuzumuz, seçenekler arasındaki dengeyi değerlendirmeni sağlar.
Çalıştırma etkin olduğu sürece metrikler, konsol çıktısı ve sistem grafikleri tarayıcıya aktarılır; kontrol noktaları otomatik olarak kaydedilir. Eğitim bittiğinde model sayfasında metrikler ve doğrulama sonuçları mevcutsa karışıklık matrisi gibi ayrıntılı analizler gösterilir.
6. Adım: Modeli barındırılan API olarak dağıt#
Modelin Deploy sekmesini aç. Harita ve tabloda, ölçülen konum gecikmesine göre sıralanmış 42 bölge listelenir. İstediğin bölgedeki Deploy seçeneğine tıkla, CPU'yu, belleği ve fiyatı incele, ardından Create Deployment seçeneğine tıkla.
Seçtiğin boyut, nasıl ücretlendirileceğini belirler:
- Varsayılan boyut (1 vCPU, 2 GiB): ücretsizdir ve boşta kaldığında sıfıra ölçeklenir.
- Özel boyutlar (8 vCPU ve 32 GiB'ye kadar): bir örneği sürekli hazır tutar ve uç nokta hazır hâle geldiği andan durdurulana kadar, boşta kaldığı süre de dahil olmak üzere, gösterilen bölgesel saatlik ücrete göre ücretlendirilir.
Her özel uç nokta, kendi URL'si ve izleme özellikleri bulunan tek kiracılı bir hizmettir ve çalışma alanındaki tek bir API anahtarına bağlıdır. Ücretsiz çalışma alanlarında 3, Pro'da 10, Enterprise'ta ise sınırsız dağıtım çalıştırılabilir. Özel uç noktanın paylaşımlı çıkarımdan ne zaman daha uygun olduğunu öğrenmek için özel ve paylaşımlı çıkarım kılavuzumuza bak.
7. Adım: Uç noktayı çağır#
Requests'i python -m pip install requests ile yükle ve bir görseli image.jpg olarak kaydet. Örnek URL'yi dağıtımın için kopyaladığın URL'nin sonuna /predict ekleyerek değiştir ve YOUR_API_KEY yerine dağıtıma bağlı anahtarı yaz:
import requests
url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
data = {"conf": 0.25, "iou": 0.5, "imgsz": 640}
with open("image.jpg", "rb") as f:
response = requests.post(url, headers=headers, data=data, files={"file": f})
print(response.json())Aynı isteği cURL ile gönder:
curl -X POST "https://YOUR_DEPLOYMENT_URL.run.app/predict" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@image.jpg" \
-F "conf=0.25" \
-F "iou=0.5" \
-F "imgsz=640"Her uç nokta ayrıca /docs adresinde etkileşimli bir API başvurusu ve bir /health kontrolü sunar. Doğrudan istekler Platform API hız sınırını aşar; ancak her uç noktaya tek bir örnek hizmet verir: zamanında yanıtlanamayan istekler, Retry-After üstbilgisiyle birlikte 429 alır ve istek gövdeleri 32 MB ile sınırlıdır. Uç nokta etkin olduğunda, dağıtım sayfasından isteklerini, hatalarını ve gecikme süresini izleyebilirsin.
Maliyetler, sınırlar ve güvenliğe genel bakış#
| Öğe | Beklenenler |
|---|---|
| Plan | S3, Google Cloud Storage ve Azure Blob veri kümeleri için Pro (koltuk başına aylık 29 ABD doları) veya Enterprise |
| Depolama | Dizine eklenen görseller bucket'ında kalır ve Platform depolama kotasını kullanmaz |
| Eğitim | Kredilerden GPU süresine göre ücretlendirilir; iletişim kutusu başlamadan önce maliyeti tahmin eder |
| Uç nokta | Varsayılan boyut ücretsizdir ve sıfıra ölçeklenir; özel boyutlar çalışırken saatlik ücretlendirilir |
| İçe aktarma boyutu | İçe aktarma başına en fazla 500.000 nesne |
| Kimlik bilgileri | Uzun ömürlü IAM kullanıcı anahtarı; bekleme sırasında şifrelenir ve eğitim iş yüklerine asla açığa çıkarılmaz |
| S3 veri kümelerinde kullanılamaz | Veri kümesi kopyalama, sürüm anlık görüntüleri, yüz bulanıklaştırma, diğer veri kümelerinden görsel yapıştırma |
Ultralytics Platform ile SageMaker, Vertex AI ve Azure ML karşılaştırması#
Genel amaçlı bulut ML platformları da kendi depolama alanlarındaki verilerle eğitim yapabilir ve modeli sunabilir. Aşağıdaki depolama ve sunum sütunları her platformun belgelerinden alınmıştır; son sütun ise bizim değerlendirmemizdir.
| Platform | Eğitim verilerinin bulunduğu yer | Sunum seçenekleri | Önerilen kullanım (değerlendirmemiz) |
|---|---|---|---|
| Ultralytics YOLO ile Ultralytics Platform | S3, Google Cloud Storage veya Azure Blob'dan yerinde dizine eklenir | 42 bölgede özel tek örnekli uç noktalar; varsayılan boyutta sıfıra ölçeklenir | Eğitim veya sunum kodu yazmadan bucket'tan API'ye YOLO tespiti, segmentasyonu, pozu veya OBB'si isteyen ekipler |
| Amazon SageMaker AI | Eğitim işleri Amazon S3, Amazon EFS veya Amazon FSx for Lustre'dan veri okur | Otomatik ölçeklendirmeli, sunucusuz ve eşzamansız çıkarım sunan gerçek zamanlı uç noktalar | Kendi kapsayıcılarını ve sunum seçeneklerini belirlemek isteyen, ML işlem hatlarını zaten AWS'de çalıştıran ekipler |
| Google Vertex AI | Sunucusuz eğitim işleri, erişilebilir Cloud Storage bucket'larını /gcs/ altında bağlar | Çevrimiçi çıkarım için yönetilen uç noktalar | Google Cloud verileri ve araçları üzerine standartlaşmış ekipler |
| Azure Machine Learning | Veri depoları, Blob Storage gibi mevcut Azure depolama alanlarına başvurur | Gerçek zamanlı çıkarım için yönetilen çevrimiçi uç noktalar | Azure üzerinde standartlaşmış ekipler |
SageMaker'ın eğitim verileri belgeleri, akış ve indirme giriş modlarıyla S3, EFS ve FSx for Lustre'ı veri kaynağı olarak listeler. Sunucusuz çıkarım, ölçeklendirmeyi senin için yönetir ve soğuk başlangıçlara tolerans gösterebilen, aralıklı trafiğe uygundur; SageMaker tarafından sağlanan bir kapsayıcıyı kullanabilir veya kendi kapsayıcını getirebilirsin. Vertex AI, önceden oluşturulmuş bir kapsayıcıdaki Python uygulamasından veya özel bir kapsayıcıdan özel eğitim çalıştırır; Azure Machine Learning ise mevcut Azure depolama alanlarına veri depoları üzerinden bağlanır ve modelleri yönetilen çevrimiçi uç noktalardan sunar. Genel amaçlı bir platformun güçlü yanı bu kapsam genişliğidir. Değerlendirmemize göre özel bir YOLO iş akışı daha fazla yapılandırma gerektirir; kapsayıcı gereksinimleri seçilen eğitim ve sunum seçeneklerine bağlıdır. AWS'de kalmak istiyorsan SageMaker dağıtım kılavuzumuz, YOLO modelini orada nasıl sunacağını gösterir.
Ultralytics Platform tasarım gereği daha dar kapsamlıdır. Ultralytics YOLO modellerine göre oluşturulmuştur; bu nedenle yukarıdaki adımlar eğitim betiğinin ve sunum kapsayıcısının yerini alır. Kuruluşun her entegrasyon için geçici STS kimlik bilgileri gerektiriyorsa veya tek bir uç noktanın yoğun eşzamanlı yük altında birçok örneğe ölçeklenmesi gerekiyorsa daha az uygundur. Çıkarımın nerede çalışacağına hâlâ karar veriyorsan bulut ve kendi sunucunda barındırma kılavuzumuz maliyeti, gecikmeyi ve veri denetimini karşılaştırır.
Sık sorulan sorular
Ultralytics Platform bir S3 bucket'ı bağlar, görselleri yerinde dizine ekler, YOLO26'yı bulut GPU'sunda eğitir ve modeli özel bir HTTPS uç noktasına dağıtır. Amazon SageMaker AI da S3'ten eğitim yapar ve sunum seçeneğine bağlı olarak SageMaker tarafından sağlanan veya özel kapsayıcılarla gerçek zamanlı, sunucusuz ve eşzamansız çıkarım sunar. Google Vertex AI ve Azure Machine Learning, mevcut bir S3 bucket'ı yerine kendi depolama alanları olan Cloud Storage ve Azure depolama alanları etrafında benzer iş akışları sunar.
Platform, veri kümenin ikinci bir kopyasını tutmaz: görselleri dizine ekler ve özgün görselleri ihtiyaç oldukça aktarır. AI özellikleri açıkken bulut eğitimi sırasında bucket'ın dışında geçici kopyalar kullanılır ve benzer görsel arama her görselin bir gömmesini saklar. Platform nesnelerini asla değiştirmez veya silmez.
Şu anda hayır. Platform, özel bir IAM kullanıcısından alınmış uzun ömürlü bir erişim anahtarı gerektirir ve veri kümesi bağlıyken süreleri dolduğu için STS kimlik bilgilerini kabul etmez. Kullanıcıyı yalnızca listeleme ve okuma izinleriyle sınırla; erişimi iptal etmek için IAM'de anahtarı devre dışı bırak.
S3 veri kümeleri için Pro (koltuk başına aylık 29 ABD doları ve koltuk başına aylık 30 ABD doları kredi) veya Enterprise planı gerekir. Eğitim, GPU süresine göre ücretlendirilir ve eğitim iletişim kutusu başlamadan önce maliyeti tahmin eder. Varsayılan uç nokta boyutu ücretsizdir ve sıfıra ölçeklenir; özel boyutlar çalışırken saatlik ücretlendirilir.
Evet. Google Cloud Storage, hizmet hesabı JSON anahtarı ve Storage Object Viewer rolüyle; Azure Blob Storage ise HTTPS hesap erişim anahtarı bağlantı dizesiyle bağlanır (SAS belirteci içeren bağlantı dizeleri kabul edilmez). Veri kümesi, eğitim ve dağıtım adımları aynıdır.
Veri kümesi oluşturulduğunda dizine yalnızca bir kez eklenir; bu nedenle yeni nesneler otomatik olarak algılanmaz. Mevcut nesnelerin üzerine yazmak yerine yeni nesneler ekle, ardından bunları içeren yeni bir veri kümesi oluştur ve yeniden eğitim yap veya ince ayar uygula.
Evet. Ağırlıkları indirebilir veya model sayfasından modeli ONNX, TensorRT ve CoreML gibi biçimlere aktarabilirsin; ardından Ultralytics Python paketiyle kendi sunucularında ya da uç cihazlarında çalıştırabilirsin.
Yazan
Yorumlar
Soru sor, sonuçlarını paylaş veya başka birine yardım et.










