Web inference.js
browser पर, edge पर, realtime predictions चलाएँ, inference.js के साथ
inferencejs एक JavaScript पैकेज है जो Roboflow पर प्रशिक्षित मॉडलों का उपयोग करके ब्राउज़र के माध्यम से रियल-टाइम इन्फरेंस सक्षम करता है।
देखें inferencejs संदर्भ यहाँ
अधिकांश व्यावसायिक अनुप्रयोगों के लिए, Serverless Cloud API उपयुक्त है। लेकिन कई उपभोक्ता अनुप्रयोगों और कुछ एंटरप्राइज़ उपयोग मामलों के लिए, सर्वर-होस्टेड मॉडल होना व्यावहारिक नहीं है (उदाहरण के लिए, यदि आपके उपयोगकर्ताओं की बैंडविड्थ सीमित है या उन्हें रिमोट API का उपयोग करके मिलने वाली latency से कम latency चाहिए)।
सीखने के संसाधन
वेबकैम के साथ अपना मॉडल आज़माएँ: आप एक हैंड-डिटेक्टर मॉडल का वेबकैम डेमो यहाँ आज़मा सकते हैं (इसे सार्वजनिक EgoHands डेटासेट).
इंटरैक्टिव Replit वातावरण: हमने एक "शुरुआत करें" प्रोजेक्ट Repl.it पर एक साथ ट्यूटोरियल के साथ प्रकाशित किया है, जिसमें दिखाया गया है कि हमारे Repl.it टेम्पलेट का उपयोग करके YOLOv8 मॉडल कैसे तैनात करें.
GitHub टेम्पलेट: Roboflow होमपेज का उपयोग करता है
inferencejsCOCO इन्फरेंस विजेट को संचालित करने के लिए। README में GitHub Pages का उपयोग करके वेब पर मॉडल तैनात करने के लिए रिपॉज़िटरी टेम्पलेट का उपयोग करने के निर्देश हैं।दस्तावेज़ीकरण: यदि आप
inferencejsमें विशिष्ट फ़ंक्शनों के बारे में अधिक विवरण चाहते हैं, तो हमारी दस्तावेज़ीकरण पृष्ठ देखें याinferencejsनीचे दिए गए हमारे गाइड में किसी भी विधि के उल्लेख पर क्लिक करें ताकि आपको संबंधित दस्तावेज़ीकरण पर ले जाया जा सके।
समर्थित मॉडल
inferencejs वर्तमान में इन मॉडल आर्किटेक्चर का समर्थन करता है:
Roboflow 3.0 (YOLOv8-संगत)
YOLOv5
YOLOLite
स्थापना
जोड़ने के लिए inference अपने प्रोजेक्ट में, बस npm का उपयोग करके इंस्टॉल करें या अपने पेज के <head> टैग में script tag reference जोड़ें।
आरंभ किया जा रहा है inferencejs
प्रमाणीकरण किया जा रहा है
आप अपना publishable_key Roboflow workspace सेटिंग्स से प्राप्त कर सकते हैं।

ध्यान दें: आपका publishable_key के साथ उपयोग किया जाता है inferencejs, नहीं आपका निजी API key (जो गोपनीय रहनी चाहिए)।
सबसे पहले इंपोर्ट करें InferenceEngine और एक नया inference engine ऑब्जेक्ट बनाएं
inferencejs webworkers का उपयोग करता है ताकि मुख्य UI थ्रेड को ब्लॉक किए बिना कई मॉडल उपयोग किए जा सकें। प्रत्येक मॉडल इसके माध्यम से लोड होता है InferenceEngine हमारा webworker manager, जो आपके लिए आवश्यक थ्रेड प्रबंधन को abstract करता है।
अब हम आपके publishable_key और model id, साथ ही confidence threshold और overlap threshold जैसे configuration parameters के साथ Roboflow से मॉडल लोड कर सकते हैं।
model id मॉडल के पेज पर दिखाया जाता है और इसका रूप होता है workspace/model-slug (उदाहरण: my-workspace/hard-hat-abc-1-yolov8n-t1). किसी legacy project-versioned मॉडल को लोड करने के लिए, उपयोग करें startWorker इसके बजाय एक project slug और version number के साथ। कई प्रशिक्षित मॉडलों वाले version के लिए, legacy {project}/{version} id, जब कोई alias मौजूद होता है, तो version के alias के माध्यम से resolve होता है; alias न होने पर यह केवल तभी काम करता है जब version में एक ही model हो, अन्यथा id अस्पष्ट होती है और आपको model को उसके अपने model id से लोड करना चाहिए। देखें legacy IDs कैसे resolve होते हैं.
inferencejs अब एक worker शुरू करेगा जो चुने गए मॉडल को चलाता है। लौटाया गया worker id इसके worker id से मेल खाता है InferenceEngine जिसका हम inference के लिए उपयोग करेंगे। मॉडल पर inference करने के लिए हम infer विधि को InferenceEngine.
आइए एक image लोड करें और अपने worker पर inference करें।
यह विभिन्न image formats ले सकता है (HTMLImageElement, HTMLVideoElement, ImageBitmap, या TFJS Tensor).
यह predictions की एक array लौटाता है (एक class के रूप में, इस मामले में RFObjectDetectionPrediction )
कॉन्फ़िगरेशन
यदि आप तरीका customize और configure करना चाहते हैं inferencejs अपने predictions फ़िल्टर करता है, तो आप creation के समय worker को parameters दे सकते हैं।
या आप inference पर configuration options दे सकते हैं
अंतिम अपडेट
क्या यह उपयोगी था?