मॉडल वेट्स डाउनलोड
Inference पैकेज मॉडल वेट्स कैसे डाउनलोड और कैश करता है, persistent cache directory कैसे कॉन्फ़िगर करें, और वेट्स को पहले से कैसे डाउनलोड करें।
Roboflow Inference को डिप्लॉय करते समय, मॉडल वेट्स आपके डिवाइस पर डाउनलोड किए जाते हैं, जहाँ इन्फ़रेंस स्थानीय रूप से चलता है। यह पृष्ठ बताता है कि कैसे इन्फरेंस पैकेज उन वेट्स को डाउनलोड और कैश करता है।
कच्ची .pt Roboflow Inference इकोसिस्टम के बाहर चलाने के लिए वेट्स फ़ाइल ढूँढ रहे हैं? देखें मॉडल वेट्स डाउनलोड करें.
अवलोकन
जब आप किसी दिए गए मॉडल के साथ पहली बार इन्फ़रेंस चलाते हैं, तो मॉडल वेट्स स्वचालित रूप से डाउनलोड हो जाते हैं। वेट्स आपके डिवाइस पर स्थानीय रूप से कैश किए जाते हैं, और सारा इन्फ़रेंस डिवाइस पर ही किया जाता है (क्लाउड में नहीं)।
यह कैसे काम करता है:
इंटरनेट से कनेक्ट रहते हुए अपने डिवाइस पर मॉडल वेट्स डाउनलोड करें।
वेट्स आपके मशीन पर स्थानीय रूप से कैश किए जाते हैं।
कैश किए गए वेट्स का उपयोग करके डिवाइस पर इन्फ़रेंस चलाएँ।
यह तरीका सभी Roboflow डिप्लॉयमेंट विधियों में काम करता है और तेज़, स्थानीय इन्फ़रेंस सुनिश्चित करता है।
डिफ़ॉल्ट कैश स्थान। डिफ़ॉल्ट रूप से, मॉडल वेट्स /tmp/cacheमें संग्रहीत होते हैं, जो सिस्टम रीबूट पर साफ़ किया जाता है. प्रोडक्शन डिप्लॉयमेंट्स के लिए, या किसी भी ऐसे परिदृश्य के लिए जहाँ आपको वेट्स को रीबूट्स के बीच बना रहना चाहिए, आपको MODEL_CACHE_DIR एनवायरनमेंट वेरिएबल का उपयोग करके एक स्थायी कैश डायरेक्टरी कॉन्फ़िगर करनी होगी (देखें कैश स्थान नीचे)।
एंटरप्राइज़ ऑफ़लाइन मोड। पूरी तरह से डिस्कनेक्टेड संचालन की आवश्यकता वाले एंटरप्राइज़ डिप्लॉयमेंट्स के लिए देखें ऑफ़लाइन मोड. यह पृष्ठ मॉडल वेट्स के डाउनलोड और कैशिंग पर केंद्रित है, जबकि उपयोग ट्रैकिंग, बिलिंग, और Workflow अपडेट्स के लिए कनेक्टिविटी बनाए रखता है।
कैश स्थान
डिफ़ॉल्ट रूप से, मॉडल वेट्स /tmp/cache. यह डायरेक्टरी सिस्टम रीबूट पर साफ़ कर दी जाती हैजिसका मतलब है कि आपको हर रीस्टार्ट के बाद मॉडल वेट्स को फिर से डाउनलोड करना होगा।
प्रोडक्शन डिप्लॉयमेंट्स या किसी भी ऐसे परिदृश्य के लिए जहाँ आपको वेट्स को रीबूट्स के बीच बना रहना चाहिए, आपको ज़रूर का उपयोग करके एक स्थायी कैश डायरेक्टरी कॉन्फ़िगर करनी होगी MODEL_CACHE_DIR एनवायरनमेंट वेरिएबल:
import os
# एक स्थायी डायरेक्टरी पर सेट करें (/tmp नहीं)
os.environ["MODEL_CACHE_DIR"] = "/home/user/.roboflow/cache"
from inference import get_model
# ... आपके कोड का शेष भागवैकल्पिक रूप से, इसे पूरे सिस्टम के लिए सेट करें:
सुनिश्चित करें कि डायरेक्टरी मौजूद है और उसके पास उपयुक्त अनुमतियाँ हैं:
Docker डिप्लॉयमेंट्स। Docker में इन्फ़रेंस चलाते समय, कंटेनर रीस्टार्ट्स के बीच वेट्स को सुरक्षित रखने के लिए एक स्थायी कैश वॉल्यूम माउंट करें। देखें Docker कॉन्फ़िगरेशन विवरण के लिए।
मूल Python API
यह मूल Python API जब आप किसी मॉडल को get_model().
वेट्स को पहले से डाउनलोड करना
इन्फ़रेंस चलाना
स्वयं-होस्ट किए गए Inference Server पर, आप इसके बजाय HTTP के माध्यम से वेट्स को पहले से लोड कर सकते हैं: देखें Model Management.
सर्वोत्तम प्रथाएँ
सबसे पहले एक स्थायी कैश कॉन्फ़िगर करें। किसी भी वेट्स को डाउनलोड करने से पहले, कॉन्फ़िगर करें
MODEL_CACHE_DIRको एक स्थायी डायरेक्टरी की ओर इंगित करने के लिए (/tmpनहीं)। यह प्रोडक्शन डिप्लॉयमेंट्स के लिए रीबूट पर कैश किए गए वेट्स को खोने से बचाने के लिए आवश्यक है।सेटअप के दौरान पहले से डाउनलोड करें। सुनिश्चित करने के लिए कि वे कैश हो गए हैं और तैयार हैं, अपने डिप्लॉयमेंट सेटअप चरण के दौरान सभी आवश्यक मॉडल वेट्स डाउनलोड करें।
Docker में एक स्थायी कैश का उपयोग करें। हमेशा एक स्थायी वॉल्यूम माउंट करें जब Docker कंटेनरों में चल रहे हों। कंटेनर फ़ाइलसिस्टम में संग्रहीत वेट्स रीस्टार्ट पर खो जाते हैं।
डिप्लॉयमेंट से पहले सत्यापित करें। प्रोडक्शन में डिप्लॉय करने से पहले सत्यापित करें कि मॉडल ठीक से कैश किए गए हैं और कैश डायरेक्टरी रीबूट्स के बीच बनी रहती है।
मॉडल ID दस्तावेज़ित करें। आसान प्री-कैशिंग और समस्या निवारण के लिए, आपकी एप्लिकेशन को जिन सभी मॉडल ID और संस्करणों की आवश्यकता है, उनकी एक सूची बनाए रखें।
स्टोरेज पर विचार करें। मॉडल वेट्स बड़े हो सकते हैं (प्रति मॉडल 100MB से 1GB+). सुनिश्चित करें कि आपके स्थायी कैश डायरेक्टरी में पर्याप्त डिस्क स्थान उपलब्ध है।
रीबूट व्यवहार का परीक्षण करें। वेट्स को कैश करने के बाद, यह परीक्षण करें कि वे सिस्टम रीबूट के बाद भी बने रहते हैं ताकि आपकी कैश कॉन्फ़िगरेशन सही हो।
समस्या निवारण
रीबूट के बाद वेट्स गायब हो जाते हैं
डिफ़ॉल्ट कैश स्थान (/tmp/cache) रीबूट पर साफ़ कर दिया जाता है। जैसा कि कैश स्थानमें वर्णित है, एक स्थायी कैश डायरेक्टरी कॉन्फ़िगर करें, या Docker के लिए एक स्थायी वॉल्यूम माउंट.
मॉडल नहीं मिला त्रुटि
सत्यापित करें कि मॉडल वास्तव में डाउनलोड हुआ था (के साथ कैश डायरेक्टरी की जाँच करें
ls -lh $MODEL_CACHE_DIR).सुनिश्चित करें कि आप वही
model_idका उपयोग कर रहे हैं जैसा डाउनलोड करते समय किया था।जाँच करें कि
MODEL_CACHE_DIRयदि कस्टम स्थान का उपयोग कर रहे हैं, तो सही ढंग से सेट है।
अनुमति संबंधी समस्याएँ
सुनिश्चित करें कि एप्लिकेशन के पास कैश डायरेक्टरी के लिए पढ़ने/लिखने की अनुमतियाँ हैं:
अंतिम अपडेट
क्या यह उपयोगी था?