İç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 özel işlem talimatları arayan deneyimli bir veri bilimcisi olun, doğru yere geldiniz. Bu kılavuz, HUB-SDK özellikleri arasında sorunsuz bir yolculuk sağlayarak modellerinizi verimli bir şekilde yönetmek için bilgi birikimi kazanmanızı sağlar.

Bir Modeli Benzersiz Tanımlayıcısına Göre Alma

Makine öğrenimi iş akışlarında, belirli bir modele erişmek yaygın bir gerekliliktir. Ultralytics HUB-SDK ile, bir modeli kimliğine göre almak kolaydır. Bu işlev, sağlanan benzersiz tanımlayıcıya dayalı olarak 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

Access Projesi ve Veri Kümesi Önkoşulları

Bir model oluşturmadan veya eğitmeden önce, her iki modelin de proje ve bir veri kümesi mevcuttur. Aşağıdaki kod parçacığı, nesnelerini başlatarak bu bileşenlerin doğrulanmasına yardımcı olur. Model eğitimini düzenlemek için bir proje ve veri kümesi kullanmak faydalı olsa da zorunlu değildir. Kimliklerden biri 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şturma

Oluşturma yeni̇ model Bu fonksiyon ile proje gereksinimlerinize göre uyarlanmış bir model oluşturmak çok kolaydır. Modelin adını belirleyin ve projeniz ve veri setinizle ilişkilendirin. Ayrıca parti boyutunu veya cihazı ayarlamak gibi yapılandırmaları da özelleştirebilirsiniz. Şunu unutmayın projectId ve datasetId Modeli henüz bir projeye 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, bir modelin meta verilerini güncellemeniz gerekebilir, örneğin netlik için yeniden adlandırmak gibi. SDK, bu ayrıntıları zahmetsizce yenilemek için bir yöntem sunarak manuel hataları en aza indirir ve zamandan tasarruf 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

Bir Modeli Güvenle Silme

Bir modelin silinmesi geri döndürülemez, bu nedenle bu işlevi dikkatli kullanın. Bir modeli sistemden kaldırmak istediğinizden emin olduğunuzda, aşağıdaki komut belirtilen modeli tüm ilişkili verileriyle birlikte 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 yöntemi, modeli kalıcı olarak kaldırmadan etkin değil olarak işaretleyerek yumuşak bir silme işlemi gerçekleştirir. Sert bir silme işlemi gerçekleştirmek ve modeli ilişkili verileriyle birlikte kalıcı olarak kaldırmak istiyorsanız hard=True yukarıda gösterildiği gibi. Sabit silme seçeneğini kullanırken dikkatli olun, çünkü bu işlem geri alınamaz.

Tüm Modellerinizi Sayfalandırma ile Listeleme

Ultralytics HUB-SDK getirmeyi kolaylaştırır model li̇steleri̇potansiyel olarak büyük koleksiyonlar arasında verimli bir şekilde gezinmek için sayfalandırma uygulamak. gibi argümanları özelleştirerek page_sizeHem özel hem de kamu projelerini görüntüleyebilmek de dahil olmak üzere, çıktıyı ihtiyaçlarınıza göre uyarlayabilirsiniz.

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ükleyin ve Görselleştirin

Eğitim süreci boyunca modelinizin performans metriklerini izlemek ve görselleştirmek için bu işlevi kullanarak kayıp ve doğruluk gibi metrikleri yükleyin. Bu, eğitim ilerlemesinin sürekli 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 Aktarma

Modelleri dağıtım veya derinlemesine analiz gibi çeşitli amaçlar için dışa aktarmak kolaydır. İstediğiniz formatı belirtin ve bu işlev modeli buna göre hazırlasın. İ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 eserlerine 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

Bir yükleme model kontrol noktası ile basit bir şekilde upload_model Fonksiyon. Kontrol noktasının önemini şu şekilde belirtin is_best bayrağı ve netlik için eğitim dönemi.

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 çabalarınızda en iyi sonuçları elde etmeye odaklanmanızı sağlar. Başka sorularınız varsa veya yardıma ihtiyacınız olursa, lütfen topluluğumuza veya destek ekibimize ulaşın. Mutlu modellemeler! 🚀

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

Yorumlar