Inference Python Package
inference Python package: models लोड करें, अपने स्वयं के process में inference चलाएँ, Workflows execute करें, और video stream करें।
यह inference Python पैकेज वह मुख्य ओपन सोर्स लाइब्रेरी है जो Roboflow के कंप्यूटर विज़न डिप्लॉयमेंट स्टैक को शक्ति देती है। यह मॉडल लोडिंग, प्री/पोस्ट-प्रोसेसिंग, GPU/CPU अनुकूलन, और वर्कफ़्लोज़ निष्पादन, जिसे सीधे Python से कॉल किया जा सकता है।
यह Inference Server इस पैकेज को रैप करता है और इसे HTTP के माध्यम से उपलब्ध कराता है (सभी निर्भरताएँ इंस्टॉल की हुई Docker image के रूप में वितरित), लेकिन आप इसे भी उपयोग कर सकते हैं inference अपने स्वयं के स्क्रिप्ट्स और अनुप्रयोगों में सीधे।
घटक कैसे एक साथ फिट होते हैं
Inference में कई घटक हैं जो मिलकर कंप्यूटर विज़न मॉडलों को सर्व करते हैं:
inference - मॉडल लोडिंग, inference, और Workflows निष्पादन के लिए मुख्य Python पैकेज।
inference-sdk - HTTP के माध्यम से Inference Server के साथ संचार करने के लिए हल्का Python क्लाइंट।
inference-cli - Inference Server को प्रबंधित करने और सामान्य कार्य चलाने के लिए कमांड-लाइन टूल।
Inference Server - HTTP सर्वर (Docker) जो
inferenceपैकेज को REST API के रूप में।
रनटाइम पर ये घटक कैसे व्यवहार करते हैं (अनुरोध रूटिंग, समानांतरकरण, माइक्रोसर्विस और एप्लायंस पैटर्न), इसके लिए देखें Inference Architecture.
बहु-बैकएंड समर्थन
Inference 1.0 कई inference runtime backends का समर्थन करता है: ONNX, TensorRT, Hugging Face, और PyTorch. यह आपके हार्डवेयर के लिए उपलब्ध सबसे तेज़ backend को स्वचालित रूप से चुनता है। उदाहरण के लिए, यदि आपके पास NVIDIA GPU है या आप Jetson डिवाइस पर चल रहे हैं और आपके प्लेटफ़ॉर्म पर मॉडल के लिए TensorRT engine उपलब्ध है, तो Inference डिफ़ॉल्ट रूप से TensorRT का उपयोग करता है।
इंस्टॉलेशन
हम उपयोग करने की अनुशंसा करते हैं Python virtual environment (venv) Inference की निर्भरताओं को अलग रखने के लिए।
pip के माध्यम से Inference इंस्टॉल करने के लिए:
यदि आपके पास NVIDIA GPU है, तो आप अपने inference को इससे तेज़ कर सकते हैं:
त्वरित उदाहरण
आप inference को या तो HTTP के माध्यम से Inference Server के विरुद्ध चला सकते हैं (के साथ inference-sdk) या सीधे अपने प्रक्रिया में (मूल inference पैकेज)। मूल get_model() कॉल मॉडल को आपके स्क्रिप्ट में लोड करता है और एक ऑब्जेक्ट लौटाता है जिसे आप कॉल कर सकते हैं .infer() उस पर; HTTP क्लाइंट इमेज को एक सर्वर पर भेजता है जो वही काम करता है।
API key की आवश्यकता वाले मॉडलों का उपयोग करने के लिए, सेट करें ROBOFLOW_API_KEY environment variable या इसे सीधे पास करें:
देखें मूल Python API दृश्यांकन के साथ अधिक विस्तृत चरण-दर-चरण मार्गदर्शन के लिए पृष्ठ देखें, और एक मॉडल चलाएँ सर्वर-आधारित पथ के लिए।
Inference पाइपलाइन
InferencePipeline वीडियो को उसी Python प्रक्रिया के भीतर चलाता है जैसे inference पैकेज। इसका उपयोग केवल तब करें जब आप सीधे Inference Library निष्पादन चुनते हैं और इसकी कस्टम लॉजिक या sink interfaces तक पहुँच की आवश्यकता होती है। जो अनुप्रयोग Inference Server या Serverless का उपयोग करते हैं, उन्हें उपयोग करना चाहिए WebRTC Streaming.
ऊपर दिया गया कोड ऑब्जेक्ट डिटेक्शन एनोटेशन सीधे करता है (के माध्यम से render_boxes sink)। अधिक जानकारी के लिए, देखें Inference पाइपलाइन पृष्ठ।
योगदान
Inference ओपन सोर्स है। सोर्स कोड, issue tracker, और योगदान मार्गदर्शिका इसमें स्थित हैं roboflow/inference repository; देखें CONTRIBUTING.md शुरू करने के लिए।
अगले चरण
मूल Python API - मॉडल लोड करें और अपने स्वयं के प्रक्रिया में inference चलाएँ।
Inference पाइपलाइन - वीडियो स्ट्रीम्स पर मॉडल चलाएँ।
मॉडल वेट्स डाउनलोड - वेट कैशिंग और स्थायी भंडारण।
बेंचमार्क - सामान्य हार्डवेयर पर मापा गया थ्रूपुट।
अंतिम अपडेट
क्या यह उपयोगी था?