सामग्री पर जाएं

Ultralytics HUB-SDK मॉडल व्यवस्थापन सञ्चालन गाइड

में आपका स्वागत है Ultralytics हब-एसडीके मॉडल प्रबंधन दस्तावेज़ीकरण! चाहे आप मशीन लर्निंग मॉडल के प्रबंधन के साथ शुरुआत कर रहे हों या आप एक अनुभवी डेटा वैज्ञानिक हों जो विशिष्ट ऑपरेशन निर्देशों की तलाश में हों, आप सही जगह पर आए हैं। आइए हब-एसडीके सुविधाओं के माध्यम से एक सहज यात्रा शुरू करें, यह सुनिश्चित करते हुए कि आप अपने मॉडलों को कुशलतापूर्वक प्रबंधित करने के बारे में जानते हैं।

किसी मॉडल को उसके विशिष्ट पहचानकर्ता द्वारा पुनर्प्राप्त करना

मशीन लर्निंग वर्कफ़्लोज़ में, आपको अक्सर एक विशिष्ट मॉडल तक पहुँचने की आवश्यकता होती है। के साथ Ultralytics हब-एसडीके, अपनी आईडी द्वारा एक मॉडल लाना एक हवा है। यह आवश्यक फ़ंक्शन प्रदान किए गए अद्वितीय पहचानकर्ता के आधार पर एक मॉडल ऑब्जेक्ट सेट करता है, जो आपको मॉडल के विवरण और संचालन तक पूर्ण पहुंच प्रदान करता है।

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

प्रोजेक्ट और डेटासेट पूर्वावश्यकताओं तक पहुँचें

मॉडल निर्माण या प्रशिक्षण से पहले, एक परियोजना और एक डेटासेट दोनों की उपस्थिति सुनिश्चित करना महत्वपूर्ण है। यह सीधा कोड स्निपेट आपको यह सत्यापित करने में मदद करता है कि ये घटक उनके ऑब्जेक्ट को प्रारंभ करके उपलब्ध हैं। मॉडल प्रशिक्षण के आयोजन के लिए एक परियोजना और डेटासेट का उपयोग करना फायदेमंद है, यह ध्यान रखना महत्वपूर्ण है कि यह अनिवार्य नहीं है। यदि या तो आईडी गायब है, तो ऑब्जेक्ट डेटा (project.data, dataset.data) खाली हो जाएगा।

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)

project = client.project("<Project ID>")
dataset = client.dataset("<Dataset ID>")

कस्टम कॉन्फ़िगरेशन के साथ एक नया मॉडल बनाएं

अपनी परियोजना आवश्यकताओं के अनुरूप एक नया मॉडल बनाना इस सुविधाजनक कार्य के साथ सरल बना दिया गया है। मॉडल का नाम निर्दिष्ट करें और इसे अपने प्रोजेक्ट और डेटासेट से संबद्ध करें। आप अपनी आवश्यकताओं को पूरा करने के लिए कॉन्फ़िगरेशन को भी अनुकूलित कर सकते हैं, जैसे कि बैच आकार या डिवाइस सेट करना, दूसरों के बीच में। ध्यान दें कि projectId और datasetId पैरामीटर वैकल्पिक हैं यदि आप मॉडल को अभी तक किसी प्रोजेक्ट या डेटासेट से जोड़ने के लिए तैयार नहीं हैं।

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)

data = {
    "meta": {"name": "sdk model"},  # Give your model a recognizable name
    "projectId": project.id,  # Associate with an existing project
    "datasetId": dataset.id,  # 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

किसी मौजूदा मॉडल के मेटाडेटा या कॉन्फ़िगरेशन को अपडेट करें

जैसे-जैसे प्रोजेक्ट विकसित होते हैं, आपको किसी मॉडल के मेटाडेटा को अपडेट करने की आवश्यकता हो सकती है, जैसे स्पष्टता के लिए इसका नाम बदलना। एसडीके इन विवरणों को आसानी से ताज़ा करने, मैन्युअल त्रुटियों को कम करने और आपका कीमती समय बचाने के लिए एक विधि प्रदान करता है।

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

एक मॉडल को सुरक्षित रूप से हटाएं

किसी मॉडल को हटाना अपरिवर्तनीय है, इसलिए इस फ़ंक्शन का उपयोग सावधानी के साथ किया जाना चाहिए। जब आप सुनिश्चित होते हैं कि आप सिस्टम से किसी मॉडल को हटाना चाहते हैं, तो निम्न कमांड निर्दिष्ट मॉडल को उसके सभी संबद्ध डेटा के साथ स्थायी रूप से हटा देगा।

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

डिफ़ॉल्ट रूप से, डिलीट विधि एक सॉफ्ट डिलीट करती है, जो मॉडल को स्थायी रूप से हटाए बिना निष्क्रिय के रूप में चिह्नित करती है। यदि आप हार्ड डिलीट करना चाहते हैं और मॉडल को उसके संबंधित डेटा के साथ स्थायी रूप से हटाना चाहते हैं, तो आप तर्क पास कर सकते हैं hard=True जैसा कि ऊपर दिए गए उदाहरण में दिखाया गया है। हार्ड डिलीट विकल्प का उपयोग करते समय सावधानी बरतें, क्योंकि यह अपरिवर्तनीय है और इसके परिणामस्वरूप सिस्टम से निर्दिष्ट मॉडल को पूरी तरह से हटा दिया जाता है।

पृष्ठांकन के साथ अपने सभी मॉडलों को सूचीबद्ध करना

Ultralytics HUB-SDK मॉडल की सूची लाने के कार्य को सुव्यवस्थित करता है, जबकि मॉडलों के संभावित बड़े संग्रह के माध्यम से कुशलतापूर्वक नेविगेट करने के लिए पृष्ठांकन को लागू करता है। जैसे तर्कों को अनुकूलित करके page_size, आप आउटपुट को अपनी आवश्यकताओं के अनुरूप बना सकते हैं, जिसमें निजी और सार्वजनिक दोनों परियोजनाओं को देखने की क्षमता शामिल है।

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 of results
print("Next page result:", model_list.results)  # Displays the next page's models

model_list.previous()  # Return to the previous page of results
print("Previous page result:", model_list.results)  # Displays the previous page's models

प्रशिक्षण मीट्रिक अपलोड करें और विज़ुअलाइज़ करें

प्रशिक्षण प्रक्रिया के दौरान अपने मॉडल की प्रदर्शन मीट्रिक को ट्रैक करने और विज़ुअलाइज़ करने के लिए, हानि और सटीकता जैसी मीट्रिक अपलोड करने के लिए इस फ़ंक्शन का उपयोग करें. यह प्रशिक्षण प्रगति की निरंतर निगरानी को सक्षम बनाता है और विश्लेषण चरण को सरल करता है।

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

परिनियोजन या विश्लेषण के लिए अपना मॉडल निर्यात करें

तैनाती या गहन विश्लेषण जैसे विभिन्न उद्देश्यों के लिए मॉडल निर्यात करना कभी आसान नहीं रहा। आपको आवश्यक प्रारूप निर्दिष्ट करें, और यह फ़ंक्शन तदनुसार मॉडल तैयार करेगा। क्या आपको एक की आवश्यकता है Tensorflow या एक PyTorch प्रारूप, एसडीके इसे मूल रूप से संभालता है।

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

डायरेक्ट वेट URL पुनर्प्राप्त करें

कभी-कभी, आपको अपने मॉडल की दूरस्थ रूप से संग्रहीत कलाकृतियों तक सीधी पहुंच की आवश्यकता हो सकती है। यह सुविधाजनक फ़ंक्शन आपके सर्वोत्तम प्रदर्शन करने वाले मॉडल भार जैसी विशिष्ट फ़ाइलों तक पहुँचने के लिए एक URL प्रदान करता है।

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)  # Prints out the weight url link

एक मॉडल चेकपॉइंट अपलोड करें

एक मॉडल चेकपॉइंट अपलोड करना सरल बना दिया गया है upload_model फलन। बस के साथ चौकी के महत्व को इंगित करें is_best स्पष्टता के लिए ध्वज और प्रशिक्षण युग।

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

निष्कर्ष के तौर पर, Ultralytics HUB-SDK प्रभावी मॉडल प्रबंधन के लिए संचालन का एक व्यापक सेट प्रदान करता है, जिससे आप अपने मशीन सीखने के प्रयासों में सर्वोत्तम परिणाम प्राप्त करने पर ध्यान केंद्रित कर सकते हैं। यदि आपके कोई और प्रश्न हैं या सहायता की आवश्यकता है, तो कृपया हमारे स्वागत करने वाले समुदाय या सहायता टीम से संपर्क करें। हैप्पी मॉडलिंग! 🚀


टिप्पणियाँ