Ultralytics HUB-SDK Model Yönetimi
Ultralytics HUB-SDK Model Yönetimi belgelerine hoş geldiniz! İster makine öğrenimi modellerini yönetmeye yeni başlıyor olun, ister belirli işlem talimatlarını arayan deneyimli bir veri bilimcisi olun, doğru yerdesiniz. Bu kılavuz, HUB-SDK özelliklerinde sorunsuz bir yolculuk sağlayarak modellerinizi verimli bir şekilde yönetmek için bilgi birikimi kazanmanızı sağlar.
Modeli Benzersiz Tanımlayıcısıyla Al
Makine öğrenimi iş akışlarında, belirli bir modele erişmek yaygın bir gereksinimdir. Ultralytics HUB-SDK ile, bir modeli kimliğiyle getirmek basittir. Bu fonksiyon, sağlanan benzersiz tanımlayıcıya göre bir model nesnesi oluşturur ve modelin ayrıntılarına ve işlemlerine tam erişim sağlar.
from hub_sdk import HUBClient
credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)
model = client.model("<Model ID>")
print(model.data) # Outputs the model's metadata and configuration
Proje ve Veri Kümesi Ön Koşullarına Erişim
Bir model oluşturmadan veya eğitmeden önce, hem bir proje ve bir veri kümesi mevcuttur. Aşağıdaki kod parçacığı, nesnelerini başlatarak bu bileşenleri doğrulamaya yardımcı olur. Model eğitimini düzenlemek için bir proje ve veri kümesi kullanmak faydalı olsa da zorunlu değildir. Herhangi bir kimlik eksikse, nesne verileri (project.data
, dataset.data
) boş olacaktır.
from hub_sdk import HUBClient
credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)
project = client.project("<Project ID>")
dataset = client.dataset("<Dataset ID>")
Özel Yapılandırma ile Yeni Bir Model Oluşturun
Bir tane oluşturuluyor yeni model proje gereksinimlerinize göre uyarlanmış olması bu fonksiyonla basittir. Modelin adını belirtin ve projenizle ve veri kümenizle ilişkilendirin. Ayrıca, toplu iş boyutu veya cihazı ayarlama gibi yapılandırmaları da özelleştirebilirsiniz. Unutmayın ki projectId
ve datasetId
Modeli henüz bir proje veya veri kümesine bağlamaya hazır değilseniz, parametreler isteğe bağlıdır.
from hub_sdk import HUBClient
credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)
data = {
"meta": {"name": "sdk model"}, # Model name
"projectId": project.id, # Optional: Associate with an existing project
"datasetId": dataset.id, # Optional: Associate with an existing dataset
"config": { # Define hyperparameters and settings
"batchSize": "-1",
"cache": "ram",
"device": "name",
"epochs": "5",
"imageSize": "640",
"patience": "5", # Stop training if validation doesn't improve
},
}
model = client.model()
model.create_model(data) # Creates the model with your specified details
Mevcut Bir Modelin Meta Verilerini veya Yapılandırmasını Güncelleme
Projeler geliştikçe, netlik için yeniden adlandırmak gibi bir modelin meta verilerini güncellemeniz gerekebilir. SDK, manuel hataları en aza indirerek ve zamandan tasarruf ederek bu ayrıntıları zahmetsizce yenilemek için bir yöntem sağlar.
from hub_sdk import HUBClient
credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)
model = client.model("<Model ID>")
model.update({"meta": {"name": "Updated Model Name"}}) # Renames the specified model
Modeli Güvenli Bir Şekilde Sil
Bir modeli silmek geri döndürülemez bir işlemdir, bu nedenle bu fonksiyonu dikkatli kullanın. Sistemden bir modeli kaldırmak istediğinizden eminseniz, aşağıdaki komut belirtilen modeli ve ona ait tüm verileri kalıcı olarak silecektir.
from hub_sdk import HUBClient
credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)
model = client.model("<Model ID>")
model.delete(hard=True) # Permanently deletes the specified model
Varsayılan olarak, delete
metodu, modeli kalıcı olarak kaldırmadan etkin olmayan olarak işaretleyerek geçici bir silme işlemi gerçekleştirir. Kalıcı bir silme işlemi gerçekleştirmek ve modeli ilişkili verileriyle birlikte kalıcı olarak kaldırmak istiyorsanız, şu argümanı geçirin: hard=True
yukarıda gösterildiği gibi. Geri alınamaz olduğu için, kalıcı silme seçeneğini kullanırken dikkatli olun.
Modellerinizin Tamamını Sayfalama ile Listeleme
Ultralytics HUB-SDK, getirme işlemlerini kolaylaştırır model listeleri, potansiyel olarak büyük koleksiyonlarda verimli bir şekilde gezinmek için sayfalandırma uygular. Gibi argümanları özelleştirerek page_size
, çıktıyı ihtiyaçlarınıza göre uyarlayabilir, hem özel hem de genel projeleri görüntüleme olanağı dahil edebilirsiniz.
from hub_sdk import HUBClient
credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)
model_list = client.model_list(page_size=10) # Fetches the first page with 10 models
print("Current result:", model_list.results) # Displays the current page's models
model_list.next() # Move to the next page
print("Next page result:", model_list.results)
model_list.previous() # Return to the previous page
print("Previous page result:", model_list.results)
Eğitim Metriklerini Yükleme ve Görselleştirme
Eğitim süreci boyunca modelinizin performans metriklerini izlemek ve görselleştirmek için, kayıp ve doğruluk gibi metrikleri yüklemek üzere bu işlevi kullanın. Bu, eğitim ilerlemesinin sürekli olarak izlenmesini sağlar ve analiz aşamasını basitleştirir.
from hub_sdk import HUBClient
credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)
model = client.model("<Model ID>")
# Define your metrics structure. Keys are steps, and values are JSON strings of metrics.
data = {
1: '{"loss/1": 0.5, "accuracy/1": 0.85}',
2: '{"loss/2": 0.4, "accuracy/2": 0.88}',
3: '{"loss/3": 0.3, "accuracy/3": 0.90}',
}
model.upload_metrics(data) # Uploads the specified metrics to the model
Modelinizi Dağıtım veya Analiz için Dışa Aktarın
Dağıtım veya derinlemesine analiz gibi çeşitli amaçlar için modelleri dışa aktarmak kolaydır. İhtiyacınız olan formatı belirtin; bu fonksiyon modeli buna göre hazırlayacaktır. İster TensorFlow ister PyTorch formatına ihtiyacınız olsun, SDK bunu sorunsuz bir şekilde halleder.
from hub_sdk import HUBClient
credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)
model = client.model("<Model ID>")
model.export(format="pyTorch") # Exports the model as a PyTorch file
Doğrudan Ağırlık URL'si Alma
Bazen, modelinizin uzaktan depolanan yapıtlarına doğrudan erişmeniz gerekebilir. Bu işlev, en iyi performans gösteren model ağırlıklarınız gibi belirli dosyalara erişmek için bir URL sağlar.
from hub_sdk import HUBClient
credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)
model = client.model("<Model ID>")
weight_url = model.get_weights_url("best") # or "last"
print("Weight URL link:", weight_url)
Model Kontrol Noktası Yükleme
Şunu yükleme: model kontrol noktası ile basittir. upload_model
işlevi. Kontrol noktasının önemini belirtin: is_best
bayrağı ve eğitim dönemini netlik için.
from hub_sdk import HUBClient
credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)
model = client.model("<Model ID>")
model.upload_model(is_best=True, epoch=5, weights="<Weight File>") # Uploads the specified model checkpoint
Sonuç
Ultralytics HUB-SDK, etkili model yönetimi için kapsamlı bir dizi işlem sunarak, makine öğrenimi çalışmalarınızda en iyi sonuçları elde etmeye odaklanmanızı sağlar. Başka sorularınız olursa veya yardıma ihtiyacınız olursa, lütfen topluluğumuza veya destek ekibimize ulaşın. İyi modellemeler! 🚀