Workflow तैनात करें
Workflow तैनात करने के चार तरीके: Roboflow API, समर्पित तैनाती, self-hosted Inference, या बैच प्रोसेसिंग।
आप किसी Workflow को चार तरीकों से तैनात कर सकते हैं:
छवियाँ भेजें Roboflow API को, अपने Workflow का उपयोग करके प्रोसेसिंग के लिए।
एक बनाएँ Roboflow Dedicated Deployment ऐसे इंफ्रास्ट्रक्चर पर जो विशेष रूप से आपके उपयोग के लिए उपलब्ध कराया गया है।
अपने स्वयं के हार्डवेयर पर अपना Workflow चलाएँ, उपयोग करके Roboflow Inference.
उपयोग करें बैच प्रोसेसिंग बड़ी मात्रा में डेटा को बिना कोडिंग लागत के कुशलतापूर्वक प्रोसेस करने के लिए।
मुझे कौन-सा विकल्प उपयोग करना चाहिए?
HTTP API (Roboflow hosted, या self-hosted inference server)
Workflows का एक स्वतंत्र सेवा के रूप में उपयोग करना, अपने एप्लिकेशन को Python के अलावा किसी अन्य भाषा में रखना, या भारी गणना वाले काम को समर्पित सर्वरों पर ऑफलोड करना।
Serverless या self-hosted Inference Server पर किसी Workflow के माध्यम से वीडियो फ़ाइलों, वेबकैम और कैमरा स्ट्रीम्स को प्रोसेस करना।
कमांड लाइन से बिना कोड के छवियों, डिरेक्टरियों या वीडियो फ़ाइलों को प्रोसेस करना।
संग्रहीत छवियों और वीडियो पर बड़े asynchronous जॉब, आपके लिए provisioned इंफ्रास्ट्रक्चर के साथ।
inference Python पैकेज
Execution Engine को सीधे अपने Python एप्लिकेशन के अंदर चलाना, पूर्ण नियंत्रण के साथ और बिना HTTP hop के। देखें निष्पादन इंजन.
Roboflow hosted API पर Workflow चलाने की दो सीमाएँ हैं, जिन्हें ध्यान में रखना चाहिए:
Workflow runtime 20 सेकंड तक सीमित है।
response payload 6 MB तक सीमित है, इसलिए कई visualization blocks वाले Workflows, या बड़े input images वाले Workflows विफल हो सकते हैं।
Self-hosted और dedicated deployments पर ये सीमाएँ नहीं होतीं।
यदि आप अपना Workflow अपने हार्डवेयर पर चलाते हैं, तो आप इसे छवियों और वीडियो फ़ाइलों दोनों पर चला सकते हैं (सामान्य वेबकैम और पेशेवर CCTV कैमरे).
on-premises deployment चुनकर, आप Workflows को किसी भी ऐसे सिस्टम पर चला सकते हैं जहाँ आप Inference तैनात कर सकते हैं। इसमें शामिल हैं:
NVIDIA Jetson
AWS EC2, GCP Cloud Engine, और Azure Virtual Machines
Raspberry Pi
Roboflow Enterprise ग्राहकों को अतिरिक्त वीडियो स्ट्रीम विकल्प उपलब्ध हैं, जैसे Basler cameras पर inference चलाना। हमारी पेशकशों के बारे में अधिक जानने के लिए, Roboflow की बिक्री टीम से संपर्क करें.
एक Workflow डिप्लॉय करें
किसी workflow को तैनात करने के लिए, Workflows editor के ऊपर बाएँ कोने में "Deploy" बटन पर क्लिक करें। सभी deployment विकल्प इस पृष्ठ पर दस्तावेज़ित हैं।
आपके Workflows editor में code snippets पहले से ही आपके Workflows URL और API key से भरे होंगे।
Snippets आपके editor के runtime से मेल खाते हैं। यदि आप editor को local Inference server या एक Dedicated Deploymentतो api_url प्रत्येक snippet उस server की ओर संकेत करता है, और मेल खाता tab recommended के रूप में चिह्नित होता है। यदि उपलब्ध हो, तो Snippets आपके saved Workflow preview से एक उदाहरण छवि भी भरते हैं।
Workflows के उपयोग सीमाओं के बारे में अधिक जानने के लिए, देखें Roboflow pricing पृष्ठ.
छवियाँ प्रोसेस करें
आप Roboflow API या local Inference server का उपयोग करके अपने Workflow को एकल छवियों पर चला सकते हैं।
सबसे पहले, Roboflow Inference SDK इंस्टॉल करें:
यदि आप स्थानीय रूप से चलाते हैं, तो आधिकारिक Docker स्थापना निर्देशों का पालन करके अपनी मशीन पर Docker इंस्टॉल करें और Inference server प्रारंभ करें:
फिर, एक नई Python फ़ाइल बनाएँ और निम्न कोड जोड़ें:
ऊपर, बदलें API_KEY को अपने Roboflow API key से। बदलें workspace-name और workflow-id को अपने Roboflow workspace नाम और Workflow IDs से।
इन मानों को खोजने के लिए, अपना Roboflow Workflow खोलें और "Deploy Workflow" पर क्लिक करें। फिर, पृष्ठ पर दिखाई देने वाले code snippet से अपना workspace नाम और workflow ID कॉपी करें।
Local execution CPU और NVIDIA CUDA GPU devices पर काम करता है। सर्वोत्तम प्रदर्शन के लिए, NVIDIA Jetson या NVIDIA GPU वाले cloud server जैसे GPU-enabled डिवाइस पर तैनात करें।
यदि आप endpoint को सीधे, किसी भी भाषा से, कॉल करना चाहते हैं, तो एक HTTP request भेजें:
के inputs object की कुंजियाँ आपके Workflow द्वारा निर्धारित होती हैं, इसलिए नाम आपके द्वारा परिभाषित inputs के अनुसार अलग होते हैं। के रूप में घोषित inputs WorkflowImage एक object लेते हैं जिसमें type और मान keys होती हैं; HTTP के माध्यम से समर्थित type मान हैं url और base64.
ऊपर के उदाहरण एक ऐसे Workflow को चलाते हैं जो Roboflow platform पर सहेजा गया है। आप request के साथ पूर्ण Workflow definition भी भेज सकते हैं, जो शुरू से बनाए गए उन Workflows के लिए उपयोगी है जो API-key gated blocks का उपयोग नहीं करते। देखें Inference SDK के लिए specification argument।
एक वीडियो स्ट्रीम प्रोसेस करें
Inference SDK WebRTC client का उपयोग करके किसी webcam, RTSP stream, या video file पर Workflow चलाएँ। यही कोड Serverless और self-hosted Inference Server दोनों के साथ काम करता है।
SDK को उसकी WebRTC dependencies के साथ इंस्टॉल करें:
एक self-hosted Inference Server प्रारंभ करें, या उपयोग करें https://serverless.roboflow.com बिना server चलाए। फिर एक Python फ़ाइल बनाएँ:
ऊपर, बदलें API_KEY को अपने Roboflow API key से। बदलें workspace-name और workflow-id को अपने Roboflow workspace नाम और Workflow IDs से।
इन मानों को खोजने के लिए, अपना Roboflow Workflow खोलें और "Deploy Workflow" पर क्लिक करें। फिर, पृष्ठ पर दिखाई देने वाले code snippet से अपना workspace नाम और workflow ID कॉपी करें।
बदलें WebcamSource() जब वीडियो स्थानीय webcam से न आए, तो किसी अन्य स्रोत पर। देखें Workflows के साथ वीडियो प्रोसेसिंग RTSP streams, video files, और output video के लिए।
डेटा के बैच प्रोसेस करें
आप Roboflow Batch Processing service का उपयोग करके डेटा के पूरे बैच - छवियों और वीडियो फ़ाइलों की डिरेक्टरियाँ - कुशलतापूर्वक प्रोसेस कर सकते हैं। इस पूरी तरह प्रबंधित समाधान के लिए न कोडिंग की आवश्यकता है न स्थानीय computation की। बस अपना डेटा और Workflow चुनें, और बाकी Roboflow को करने दें।
हम Batch Processing के साथ UI, CLI और REST API इंटरैक्शन दोनों का समर्थन करते हैं। नीचे, हम CLI commands प्रस्तुत कर रहे हैं। खोजें सभी विकल्प.
प्रोसेसिंग चलाने के लिए, Inference CLI इंस्टॉल करें:
फिर आप अपना डेटा ingest कर सकते हैं:
जब डेटा लोड हो जाए, तो प्रोसेसिंग जॉब प्रारंभ करें:
जॉब की प्रगति इस प्रकार दिखाई जा सकती है:
और जब जॉब पूरा हो जाए, तो परिणाम निर्यात करें:
CLI के साथ एक स्थानीय डिरेक्टरी प्रोसेस करें
उस डेटा के लिए जो पहले से ही उस मशीन पर मौजूद है जिससे आप चला रहे हैं, inference-cli बिना किसी कोड के किसी Workflow को अलग-अलग छवियों, छवियों की डिरेक्टरी, या वीडियो फ़ाइल पर चला सकते हैं:
आउटपुट डिरेक्टरी में आपको प्रत्येक input file के लिए एक उप-डिरेक्टरी मिलेगी, जिसमें प्रत्येक में एक results.json फ़ाइल होगी जिसमें उस फ़ाइल के Workflow परिणाम और execution के दौरान उत्पन्न कोई भी छवियाँ होंगी, तथा एक aggregated_results.csv फ़ाइल होगी जिसमें प्रत्येक input के परिणाम एक साथ संयोजित होंगे।
देखें Inference CLI reference सभी विकल्पों के लिए।
अगले चरण
Execution Engine को सीधे अपने Python एप्लिकेशन के अंदर चलाएँ: देखें Developer Guide.
किसी Workflow द्वारा लौटाए गए परिणामों की संरचना समझें: देखें वर्कफ़्लो निष्पादन.
अंतिम अपडेट
क्या यह उपयोगी था?