CPU (Legacy)
अपने इन्फ्रास्ट्रक्चर पर CPU पर अपना मॉडल तैनात करें।
यह नया पृष्ठ उपलब्ध होने का एक पुराना संस्करण है अधिकांश व्यावसायिक अनुप्रयोगों के लिए,.
CPU Inference Server इंस्टॉल करना और उपयोग करना
Inference API 64-बिट Intel और AMD मशीनों के लिए एक Docker कंटेनर के रूप में उपलब्ध है, यह Mac OS आधारित डिवाइस के साथ संगत नहीं है। इंस्टॉल करने के लिए, बस कंटेनर pull करें:
sudo docker pull roboflow/inference-server:cpuफिर इसे चलाएँ:
sudo docker run --net=host roboflow/inference-server:cpuअब आप Inference Server का उपयोग हमारे के लिए drop-in replacement के रूप में कर सकते हैं Hosted Inference API (कई प्रोग्रामिंग भाषाओं में उदाहरण कोड स्निपेट के लिए उन दस्तावेज़ों को देखें)। Hosted API से सैंपल कोड का उपयोग करें लेकिन इसे बदलें https://detect.roboflow.com के साथ http://{INFERENCE-SERVER-IP}:9001 API कॉल में। उदाहरण के लिए,
base64 YOUR_IMAGE.jpg | curl -d @- \
"http://10.0.0.1:9001/your-model/42?api_key=YOUR_KEY"अपने प्रोजेक्ट की जानकारी का पता लगाना
नोट: किसी मॉडल के लिए पहली कॉल में आपके वेट्स डाउनलोड करने और इन्हें initialize करने में कुछ सेकंड लगेंगे; बाद की predictions बहुत तेज़ होंगी।
Google Cloud VM पर डिप्लॉय करना
Docker कंटेनर को Google Cloud Virtual Machines पर डिप्लॉय करने के लिए, आपको पहले एक Google Cloud अकाउंट बनाना होगा और एक Virtual Machine (VM) इंस्टेंस सेटअप करना होगा। इस उदाहरण के लिए, हम मशीन टाइप बदलकर एक "e2-medium" इंस्टेंस सेट कर रहे हैं। प्रोडक्शन वर्कलोड के लिए, आपको अधिक शक्तिशाली मशीन टाइप चुनने की आवश्यकता हो सकती है।

इंस्टेंस बनाने से पहले, "Boot disk" सेक्शन तक स्क्रॉल करें और बूट साइज कम से कम 50GB तक बढ़ाने के लिए "change" पर क्लिक करें। बूट डिस्क सेटिंग्स में हम ऑपरेटिंग सिस्टम भी बदल सकते हैं। कृपया डिफ़ॉल्ट "Debian 10 based Deep Learning VM (with Intel MKL) M101" संस्करण के साथ "Deep Learning on Linux" ऑपरेटिंग सिस्टम चुनें।

अब हम नीचे स्क्रॉल कर सकते हैं और इंस्टेंस प्रारंभ करने के लिए "create" पर क्लिक कर सकते हैं। एक बार VM चलने पर, आप उस इंस्टेंस में SSH कर सकते हैं और उस पर Docker इंस्टॉल कर सकते हैं। दो टर्मिनल खोलने के लिए छोटे "SSH" कनेक्ट बटन पर दो बार क्लिक करें। हम इनमें से एक टर्मिनल का उपयोग Docker कंटेनर चलाने के लिए करेंगे और दूसरे का उपयोग inference चलाने के लिए करेंगे।

Google Virtual Machine में SSH करने के बाद, आप नीचे दिए गए कमांड का उपयोग करके अपनी मशीन पर CPU inference server को pull और run कर सकते हैं। कंटेनर के चलने और "inference-server is ready to receive traffic." कहने का इंतज़ार करें।
एक बार कंटेनर आपके VM पर चल रहा हो, तो आप VM के internal IP पते का उपयोग करके इसे एक्सेस कर सकते हैं। आपको कंटेनर के पोर्ट्स पर आने वाले ट्रैफ़िक की अनुमति देने के लिए VM के फ़ायरवॉल नियमों को कॉन्फ़िगर करने की आवश्यकता हो सकती है। आप Google Cloud प्लेटफ़ॉर्म के अंदर VM instances पेज में अपना "Internal IP" पा सकते हैं। इस internal IP के साथ हम दूसरे SSH टर्मिनल पर नीचे दिया गया कमांड चला सकते हैं:
एक सफल curl कॉल docker कंटेनर को आपके Roboflow वेट्स डाउनलोड करने और inference engine तैयार करने के लिए ट्रिगर करना चाहिए। एक सफल inference कुछ ऐसा दिखेगा:

Google Cloud Run पर डिप्लॉय करना
gcloud cli इंस्टॉल करने के लिए, आपको पहले अपने सिस्टम पर Google Cloud SDK इंस्टॉल करना होगा। आप Google Cloud वेबसाइट से Google Cloud SDK डाउनलोड कर सकते हैं। एक बार SDK इंस्टॉल हो जाने पर, आप gcloud कमांड का उपयोग कर सकते हैं gcloud gcloud cli इंस्टॉल करने के लिए।
आप यहाँ Google Cloud SDK इंस्टॉल करने के दस्तावेज़ पा सकते हैं: https://cloud.google.com/sdk/docs/install
एक बार आपके पास Google Cloud SDK इंस्टॉल हो जाने पर Roboflow Docker image लोड करने के लिए अपना पसंदीदा टर्मिनल खोलें।
Docker इमेज लोड होने के बाद हमें प्रमाणीकृत करने के लिए उपयोग करना होगा gcloud अपने टर्मिनल को प्रमाणित करने के लिए।
अब जब हमारा टर्मिनल प्रमाणीकृत है, हम उपयोग कर सकते हैं docker tag और docker push Roboflow image को प्राप्त करने के लिए Google Cloud Container Registry.
अब जबकि roboflow/inference-server:cpu आपके पास अपलोड हो चुका है Google Cloud Container Registry. Navigate to Cloud Run Container Registry में अपलोड की गई इमेज के साथ एक सेवा बनाने के लिए। existing containers सेक्शन में "SELECT" पर क्लिक करें, "cpu-inference-server" फ़ोल्डर पर नेविगेट करें और नवीनतम build चुनें।

"Authentication" के अंतर्गत अपनी सेवा को एक open API के रूप में चलाने की अनुमति देने के लिए "Allow unauthenticated invocations" बटन को चेक करें। "Container, Connections, Security" सेक्शन को फैलाएँ और "Container port" नंबर को बदलें 9001.

create services पेज के नीचे स्क्रॉल करें और "CREATE" पर क्लिक करें। यह docker कंटेनर को सेवा पर डाउनलोड करेगा और initialization चलायेगा। एक सफल build आपकी सेवा का नाम हरे चेक मार्क के साथ लौटाएगा जो दर्शाता है कि आपकी सेवा ने सफलतापूर्वक docker कंटेनर बनाया और चलाया है।

जिस सेवा को आप खोलना चाहते हैं उसके नाम पर क्लिक करके अपना Cloud Run सेवा खोलें। हम "cpu-inference-server" सेवा खोलने जा रहे हैं। एक बार खुलने पर, सेवा URL को कॉपी करें। आपकी सेवा URL कुछ इस तरह दिखेगी https://cpu-inference-server-njsdrsria-uc.a.run.app. इस सेवा URL के साथ, हमारे पास curl अनुरोध चलाने और अपने Roboflow मॉडल का उपयोग करने के लिए सब कुछ है।
curl अनुरोध चलाने के लिए, एक टर्मिनल खोलें और नीचे दिया गया base64 कमांड उपयोग करें:
base64 your_image.jpg | curl -d @- "https://[Service_URL]/[MODEL_ID]/[VERSION]?api_key=[YOUR_API_KEY]"
टाइलिंग के साथ बड़े चित्र संभालना
कुछ मामलों में, आपको बहुत बड़े चित्रों पर inference करने की आवश्यकता हो सकती है, जहाँ सटीकता काफी घट सकती है। ऐसे मामलों में, बेहतर सटीकता के लिए आप चाहेंगे कि आपका inference server इन चित्रों को छोटे टाइल्स में काटे قبل از inference चलाने के।
दिए गए पिक्सल चौड़ाई और ऊँचाई के साथ टाइल करने के लिए, आपको inference server को एक query parameter के साथ curl करना होगा जिसमें पिक्सल डायमेंशन होगा। हम उस पिक्सल डायमेंशन को लेकर उन डायमेंशनों के साथ चौड़ाई और ऊँचाई के लिए टाइल बनाएँगे। query parameter कुछ इस तरह दिखना चाहिए &tile=500. यह आपके चित्र को inference चलाने से पहले 500x500 पिक्सल टाइल्स में काट देगा।
पूर्ण curl अनुरोध उदाहरण:
Last updated
Was this helpful?