İçeriğe geç

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! 🚀



📅 1 yıl önce oluşturuldu ✏️ 1 ay önce güncellendi

Yorumlar