यह ब्लॉग पोस्ट इंटेल से जोनाथन ली, नेल्सन लेउंग, पॉल मिन और ट्रॉय स्क्वीलासी द्वारा सह-लिखित है।
In भाग 1 इस पोस्ट के बारे में, हमने चर्चा की कि कैसे Intel®3DAT ने सहयोग किया एडब्ल्यूएस मशीन लर्निंग प्रोफेशनल सर्विसेज (MLPS) एक स्केलेबल AI SaaS एप्लिकेशन बनाने के लिए। 3DAT मानक वीडियो से 1,000 से अधिक बायोमैकेनिक्स डेटा बिंदुओं को पहचानने, ट्रैक करने और उनका विश्लेषण करने के लिए कंप्यूटर विज़न और AI का उपयोग करता है। यह ग्राहकों को विस्तृत प्रदर्शन डेटा और त्रि-आयामी विज़ुअलाइज़ेशन के साथ वेब और मोबाइल एप्लिकेशन जैसे समृद्ध और शक्तिशाली बायोमैकेनिक्स-चालित उत्पाद बनाने की अनुमति देता है।
इस पोस्ट के भाग 2 में, हम वास्तुकला के प्रत्येक चरण में गहराई से गोता लगाते हैं। हम 3DAT डिज़ाइन आवश्यकताओं को पूरा करने के लिए उपयोग की जाने वाली AWS सेवाओं का पता लगाते हैं, जिनमें शामिल हैं अमेज़न Kinesis डेटा स्ट्रीम और अमेज़ॅन इलास्टिक कुबेरनेट्स सेवा (अमेज़ॅन ईकेएस), इस सॉफ़्टवेयर के लिए एक सेवा (सास) एप्लिकेशन के रूप में आवश्यक मुद्रा अनुमान मॉडल को स्केल रूप से तैनात करने के लिए।
वास्तुकला अवलोकन
MLPS टीम का प्राथमिक लक्ष्य 2D और 3D पोज़ अनुमान मॉडल पाइपलाइनों का उत्पादन करना और एक कार्यात्मक और स्केलेबल एप्लिकेशन बनाना था। निम्नलिखित आरेख समाधान वास्तुकला को दर्शाता है।
संपूर्ण वास्तुकला पांच प्रमुख घटकों में विभाजित है:
- उपयोगकर्ता अनुप्रयोग इंटरफ़ेस परतें
- डाटाबेस
- वर्कफ़्लो ऑर्केस्ट्रेशन
- स्केलेबल पोज अनुमान अनुमान पीढ़ी
- परिचालन निगरानी
आइए प्रत्येक घटक, उनकी अंतःक्रियाओं और डिजाइन विकल्पों के पीछे के तर्क पर विस्तार से विचार करें।
उपयोगकर्ता अनुप्रयोग इंटरफ़ेस परतें
निम्नलिखित आरेख एप्लिकेशन इंटरफ़ेस परतों को दिखाता है जो उपयोगकर्ता को एप्लिकेशन और उसके संसाधनों तक पहुंच और नियंत्रण प्रदान करते हैं।
ये एक्सेस पॉइंट अलग-अलग ग्राहक व्यक्तियों के आधार पर अलग-अलग उपयोग के मामलों का समर्थन करते हैं। उदाहरण के लिए, एक एप्लिकेशन उपयोगकर्ता सीएलआई के माध्यम से नौकरी जमा कर सकता है, जबकि एक डेवलपर पायथन एसडीके का उपयोग करके एक एप्लिकेशन बना सकता है और अपने अनुप्रयोगों में पोज एस्टीमेशन इंटेलिजेंस को एम्बेड कर सकता है। सीएलआई और एसडीके को मॉड्यूलर घटकों के रूप में बनाया गया है- दोनों परतें एपीआई परत के रैपर हैं, जिसका उपयोग करके बनाया गया है अमेज़ॅन एपीआई गेटवे एपीआई कॉल को हल करने के लिए और संबद्ध एडब्ल्यूएस लैम्ब्डा फ़ंक्शंस, जो प्रत्येक एपीआई कॉल से जुड़े बैकएंड लॉजिक का ख्याल रखते हैं। ये परतें इंटेल ओटीजी टीम के लिए एक महत्वपूर्ण घटक थीं क्योंकि यह ग्राहकों का एक व्यापक आधार खोलती है जो इस सास एप्लिकेशन का प्रभावी ढंग से उपयोग कर सकते हैं।
एपीआई परत
समाधान में नौ एपीआई का एक कोर सेट है, जो इस प्लेटफॉर्म पर काम करने वाली वस्तुओं के प्रकार के अनुरूप है। प्रत्येक एपीआई में एक पायथन फ़ाइल होती है जो उन एपीआई क्रियाओं को परिभाषित करती है जिन्हें चलाया जा सकता है। नई वस्तुओं का निर्माण स्वचालित रूप से क्रमिक रूप से एक ऑब्जेक्ट आईडी असाइन किया जाता है। इन वस्तुओं की विशेषताओं को संग्रहीत और ट्रैक किया जाता है अमेज़ॅन अरोरा सर्वर रहित इस आईडी का उपयोग कर डेटाबेस। इसलिए, API क्रियाएँ उन फ़ंक्शंस से जुड़ जाती हैं जो एक केंद्रीय फ़ाइल में परिभाषित होते हैं जिसमें औरोरा डेटाबेस को क्वेरी करने के लिए बैकएंड लॉजिक होता है। यह बैकएंड लॉजिक Boto3 . का उपयोग करता है Amazon RDS DataService क्लाइंट डेटाबेस क्लस्टर तक पहुँचने के लिए।
एक अपवाद है /job
एपीआई, जिसमें एक है create_job
विधि जो एक नया प्रसंस्करण कार्य बनाने के लिए वीडियो सबमिशन को संभालती है। यह विधि शुरू होती है AWS स्टेप फ़ंक्शंस कार्य चलाने के लिए कार्यप्रवाह तर्क। में गुजरने से job_id
, यह विधि Boto3 . का उपयोग करती है चरण कार्य क्लाइंट फोन करना start_execution
एक निर्दिष्ट के लिए विधि stateMachineARN
(अमेज़ॅन संसाधन का नाम)।
आठ ऑब्जेक्ट एपीआई में निम्न तालिका में संक्षेपित तरीके और समान एक्सेस पैटर्न हैं।
विधि प्रकार | फ़ंक्शन का नाम | Description |
GET | list_[object_name]s |
डेटाबेस और डिस्प्ले से इस प्रकार की सभी वस्तुओं का चयन करता है। |
पोस्ट | create_[object] |
डेटाबेस में आवश्यक इनपुट के साथ एक नया ऑब्जेक्ट रिकॉर्ड सम्मिलित करता है। |
GET | get_[object] |
डेटाबेस और डिस्प्ले से ऑब्जेक्ट आईडी के आधार पर ऑब्जेक्ट विशेषताओं का चयन करता है। |
डाल | update_[object] |
आवश्यक इनपुट के साथ मौजूदा ऑब्जेक्ट रिकॉर्ड को अपडेट करता है। |
हटाएँ | delete_[object] |
ऑब्जेक्ट आईडी के आधार पर डेटाबेस से मौजूदा ऑब्जेक्ट रिकॉर्ड को हटाता है। |
नौ एपीआई का विवरण इस प्रकार है:
- /उपयोगकर्ता - उपयोगकर्ता इस एप्लिकेशन में नौकरी जमा करने के लिए अधिकृत किसी व्यक्ति की पहचान है। उपयोगकर्ता के निर्माण के लिए उपयोगकर्ता नाम, उपयोगकर्ता ईमेल और समूह आईडी की आवश्यकता होती है जिससे उपयोगकर्ता संबंधित होता है।
- /यूजर ग्रुप - एक उपयोगकर्ता समूह उपयोगकर्ताओं का एक संग्रह है। प्रत्येक उपयोगकर्ता समूह को एक प्रोजेक्ट और एक पाइपलाइन पैरामीटर सेट में मैप किया जाता है। विभिन्न स्तरों (बुनियादी संसाधनों और पाइपलाइन मापदंडों के संदर्भ में) के लिए, उपयोगकर्ताओं को उपयोगकर्ता समूहों में विभाजित किया गया है। प्रत्येक उपयोगकर्ता केवल एक उपयोगकर्ता समूह से संबंधित हो सकता है। उपयोगकर्ता समूह के निर्माण के लिए प्रोजेक्ट आईडी, पाइपलाइन पैरामीटर सेट आईडी, उपयोगकर्ता समूह का नाम और उपयोगकर्ता समूह विवरण की आवश्यकता होती है। ध्यान दें कि उपयोगकर्ता समूह AWS खाते में परिभाषित उपयोगकर्ता भूमिकाओं से भिन्न होते हैं। उत्तरार्द्ध का उपयोग उनकी पहुंच भूमिकाओं (उदाहरण के लिए व्यवस्थापक) के आधार पर विभिन्न स्तर तक पहुंच प्रदान करने के लिए किया जाता है।
- /परियोजना - एक परियोजना का उपयोग ढांचागत संसाधनों के विभिन्न सेटों को एक साथ समूहित करने के लिए किया जाता है। एक परियोजना एक के साथ जुड़ी हुई है
project_cluster_url
(अरोड़ा क्लस्टर) उपयोगकर्ताओं, नौकरियों और अन्य मेटाडेटा को रिकॉर्ड करने के लिए, aproject_queue_arn
(किनेसिस डेटा स्ट्रीम एआरएन), और एक कंप्यूट रनटाइम वातावरण (वर्तमान में कॉर्टेक्स के माध्यम से नियंत्रित) फ्रेम बैचों पर अनुमान चलाने या वीडियो पर पोस्टप्रोसेसिंग के लिए उपयोग किया जाता है। प्रत्येक उपयोगकर्ता समूह एक परियोजना से जुड़ा होता है, और यह तंत्र है कि उपयोगकर्ताओं के विभिन्न समूहों के लिए विलंबता और गणना शक्ति के संदर्भ में विभिन्न स्तरों को कैसे सक्षम किया जाता है। प्रोजेक्ट के निर्माण के लिए प्रोजेक्ट का नाम, प्रोजेक्ट क्लस्टर URL और प्रोजेक्ट क्यू ARN की आवश्यकता होती है। - /पाइपलाइन - एक पाइपलाइन प्रसंस्करण कंटेनरों के अनुक्रम के लिए एकल कॉन्फ़िगरेशन से जुड़ी होती है जो कॉर्टेक्स द्वारा समन्वित अमेज़ॅन ईकेएस इंफ़ेक्शन जनरेशन क्लस्टर में वीडियो प्रोसेसिंग करते हैं (अधिक विवरण के लिए वीडियो प्रोसेसिंग इंट्रेंस जनरेशन पर अनुभाग देखें)। आम तौर पर, इसमें तीन कंटेनर होते हैं: प्रीप्रोसेसिंग और डिकोडिंग, ऑब्जेक्ट डिटेक्शन, और पॉज़ अनुमान। उदाहरण के लिए, 2D और 3D पाइपलाइनों के लिए डिकोड और ऑब्जेक्ट डिटेक्शन चरण समान हैं, लेकिन HRNet या 3DMPPE का उपयोग करके अंतिम कंटेनर को स्वैप करने से 2D बनाम 3D प्रोसेसिंग पाइपलाइनों के लिए पैरामीटर सेट हो जाता है। आप संभावित पाइपलाइनों को परिभाषित करने के लिए नए कॉन्फ़िगरेशन बना सकते हैं जिनका उपयोग प्रसंस्करण के लिए किया जा सकता है, और इसके लिए कॉर्टेक्स रेपो में एक नई पायथन फ़ाइल इनपुट की आवश्यकता होती है जो उस पाइपलाइन को परिभाषित करने वाले मॉडल एंडपॉइंट कॉल के अनुक्रम का विवरण देती है (वीडियो प्रसंस्करण अनुमान पीढ़ी पर अनुभाग देखें) ) पाइपलाइन एंडपॉइंट कॉर्टेक्स एंडपॉइंट है जिसे सिंगल फ्रेम को प्रोसेस करने के लिए कहा जाता है। एक पाइपलाइन के निर्माण के लिए एक पाइपलाइन नाम, पाइपलाइन विवरण और पाइपलाइन समापन बिंदु की आवश्यकता होती है।
- /पाइपलाइन_पैरामीटर_सेट - एक पाइपलाइन पैरामीटर सेट एक विशेष पाइपलाइन के लिए कई मापदंडों (एक पाइपलाइन कॉन्फ़िगरेशन रनटाइम) का एक लचीला JSON संग्रह है, और भविष्य के अनुकूलन के लिए लचीलापन प्रदान करने के लिए जोड़ा जाता है जब कई पाइपलाइन कॉन्फ़िगरेशन रनटाइम की आवश्यकता होती है। उपयोगकर्ता समूहों को एक विशेष पाइपलाइन पैरामीटर सेट से जोड़ा जा सकता है, और इसका उद्देश्य प्रति उपयोगकर्ता समूह और प्रति पाइपलाइन पैरामीटर के विभिन्न समूह होना है। यह अनुकूलन में निर्माण करने के लिए इंटेल ओटीजी के लिए एक महत्वपूर्ण अग्रगामी अतिरिक्त था जो पोर्टेबिलिटी का समर्थन करता है क्योंकि विभिन्न ग्राहक, विशेष रूप से आईएसवी, एप्लिकेशन का उपयोग करना शुरू करते हैं।
- /पाइपलाइन_पैरामीटर - पाइपलाइन मापदंडों का एक एकल संग्रह पाइपलाइन पैरामीटर सेट का एक तात्कालिकता है। यह इसे पाइपलाइन पैरामीटर के लिए सेट किए गए पाइपलाइन पैरामीटर की 1: कई मैपिंग बनाता है। इस एपीआई को पाइपलाइन पैरामीटर के सेट के साथ संबद्ध करने के लिए एक पाइपलाइन आईडी की आवश्यकता होती है जो पाइपलाइन के लिए पाइपलाइन पैरामीटर के 1:1 मैपिंग के लिए एक पाइपलाइन के निर्माण को सक्षम बनाता है। इस एपीआई द्वारा आवश्यक अन्य इनपुट एक पाइपलाइन पैरामीटर सेट आईडी, पाइपलाइन पैरामीटर मान और पाइपलाइन पैरामीटर नाम हैं।
- /वीडियो - एक वीडियो ऑब्जेक्ट का उपयोग अलग-अलग वीडियो को परिभाषित करने के लिए किया जाता है जो नौकरी के दौरान सबमिट किए गए .zip पैकेज को बनाते हैं। सबमिट करने के बाद यह फ़ाइल कई वीडियो में विभाजित हो जाती है। एक वीडियो से संबंधित है
job_id
उस नौकरी के लिए जहां .zip पैकेज सबमिट किया गया है, और अमेज़न सरल भंडारण सेवा (अमेज़ॅन S3) कच्चे अलग किए गए वीडियो के स्थान और प्रत्येक वीडियो के पोस्टप्रोसेसिंग परिणामों के लिए पथ। वीडियो ऑब्जेक्ट में एक वीडियो प्रगति प्रतिशत भी होता है, जो उस वीडियो के अलग-अलग फ्रेम बैचों के प्रसंस्करण के दौरान लगातार अद्यतन किया जाता है, साथ ही पूर्ण या पूर्ण नहीं होने के लिए वीडियो स्थिति ध्वज भी होता है। वीडियो बनाने के लिए जॉब आईडी, वीडियो पथ, वीडियो परिणाम पथ, वीडियो प्रगति प्रतिशत और वीडियो स्थिति की आवश्यकता होती है। - /फ्रेम_बैच - एक
frame_batch
ऑब्जेक्ट एकल वीडियो का नमूना लेकर बनाए गए फ़्रेमों का एक मिनी-बैच है। नियमित आकार के फ्रेम बैचों में एक वीडियो को अलग करने से विलंबता को ट्यून करने के लिए एक लीवर मिलता है और समांतरता और थ्रूपुट बढ़ता है। यह दानेदार इकाई है जो अनुमान के लिए किनेसिस डेटा स्ट्रीम के माध्यम से चलती है। फ़्रेम बैच के निर्माण के लिए वीडियो आईडी, फ़्रेम बैच प्रारंभ संख्या, फ़्रेम बैच समाप्ति संख्या, फ़्रेम बैच इनपुट पथ, फ़्रेम बैच परिणाम पथ और फ़्रेम बैच स्थिति की आवश्यकता होती है। - /काम - प्रसंस्करण कार्य शुरू करने के लिए फाइल सबमिशन के लिए इस इंटरैक्शन एपीआई का उपयोग किया जाता है। इस एपीआई का अन्य ऑब्जेक्ट एपीआई से एक अलग कार्य है क्योंकि यह वीडियो प्रोसेसिंग बैकएंड स्टेप फंक्शंस वर्कफ़्लो समन्वय और अमेज़ॅन ईकेएस क्लस्टर के साथ बातचीत करने का सीधा रास्ता है। इस एपीआई के लिए यूजर आईडी, प्रोजेक्ट आईडी, पाइपलाइन आईडी, पाइपलाइन पैरामीटर सेट आईडी, जॉब पैरामीटर और जॉब स्टेटस की जरूरत होती है। नौकरी के मापदंडों में, एक इनपुट फ़ाइल पथ निर्दिष्ट किया गया है, जो अमेज़ॅन एस 3 में वह स्थान है जहां संसाधित किए जाने वाले वीडियो का .zip पैकेज स्थित है। फ़ाइल अपलोड के साथ संभाला जाता है
upload_handler
विधि, जो उपयोगकर्ता के लिए एक फ़ाइल रखने के लिए एक निर्धारित S3 URL उत्पन्न करती है। एक WORKFLOW_STATEMACHINE_ARN एक पर्यावरण चर है जिसे पारित किया जाता हैcreate_job
एपीआई यह निर्दिष्ट करने के लिए कि एक कार्य शुरू करने के लिए एक इनपुट फ़ाइल पथ के साथ एक वीडियो .zip पैकेज कहां सबमिट किया गया है।
निम्न तालिका एपीआई के कार्यों को सारांशित करती है।
विधि प्रकार | समारोह | Description |
GET | list_jobs |
डेटाबेस और डिस्प्ले से सभी नौकरियों का चयन करता है। |
पोस्ट | create_ job |
यूजर आईडी, प्रोजेक्ट आईडी, पाइपलाइन आईडी, पाइपलाइन पैरामीटर सेट आईडी, जॉब रिजल्ट पाथ, जॉब पैरामीटर और जॉब स्टेटस के साथ एक नया जॉब रिकॉर्ड डालें। |
GET | get_ job |
डेटाबेस और डिस्प्ले से जॉब आईडी के आधार पर जॉब एट्रिब्यूट्स का चयन करता है। |
GET | upload_handler |
.zip फ़ाइल अपलोड के स्थान के रूप में एक निर्धारित S3 URL उत्पन्न करता है। एक S3 बकेट नाम की आवश्यकता है और एक एप्लिकेशन/ज़िप फ़ाइल प्रकार की अपेक्षा करता है। |
पायथन एसडीके परत
एपीआई के आधार पर, टीम ने एक रैपर के रूप में एक पायथन एसडीके क्लाइंट लाइब्रेरी बनाई, जिससे डेवलपर्स के लिए एपीआई विधियों तक पहुंच आसान हो सके। उन्होंने ओपन-सोर्स का इस्तेमाल किया कविता, जो पायथन पैकेजिंग और निर्भरता प्रबंधन को संभालता है। उन्होंने बनाया a client.py
फ़ाइल जिसमें पायथन का उपयोग करके प्रत्येक एपीआई को लपेटने वाले फ़ंक्शन शामिल हैं requests
एपीआई अनुरोधों और अपवादों को संभालने के लिए पुस्तकालय।
डेवलपर्स के लिए Intel 3DAT SDK लॉन्च करने के लिए, उन्हें पोएट्री पैकेज को स्थापित करने और बनाने की आवश्यकता है। फिर, वे एक साधारण पायथन आयात जोड़ सकते हैं intel_3dat_sdk
किसी भी पायथन कोड के लिए।
क्लाइंट का उपयोग करने के लिए, आप API समापन बिंदु निर्दिष्ट करते हुए क्लाइंट का एक उदाहरण बना सकते हैं:
फिर आप क्लाइंट का उपयोग अलग-अलग तरीकों को कॉल करने के लिए कर सकते हैं जैसे कि create_pipeline
विधि (निम्न कोड देखें), पाइपलाइन नाम और पाइपलाइन विवरण जैसे उचित तर्कों को लेना।
सीएलआई परत
इसी तरह, एपीआई पर बनाई गई टीम उन उपयोगकर्ताओं के लिए कमांड लाइन इंटरफ़ेस बनाने के लिए जो पाइथन कोड लिखने की आवश्यकता के बिना एक सरल इंटरफ़ेस के साथ एपीआई विधियों तक पहुंच बनाना चाहते हैं। उन्होंने ओपन-सोर्स पायथन पैकेज का इस्तेमाल किया क्लिक करें (कमांड लाइन इंटरफेस क्रिएशन किट)। इस ढांचे के लाभ आदेशों का मनमाने ढंग से घोंसला बनाना, स्वचालित सहायता पृष्ठ पीढ़ी, और रनटाइम पर उप-आदेशों के आलसी लोडिंग का समर्थन है। ठीक उसी प्रकार client.py
एसडीके में फ़ाइल के रूप में, प्रत्येक एसडीके क्लाइंट विधि को क्लिक का उपयोग करके लपेटा गया था और आवश्यक विधि तर्कों को कमांड लाइन फ्लैग में बदल दिया गया था। एसडीके कमांड को कॉल करते समय फ्लैग इनपुट का उपयोग किया जाता है।
सीएलआई लॉन्च करने के लिए, आप इसका उपयोग कर सकते हैं CLI configure
आज्ञा। आपको समापन बिंदु URL के लिए संकेत दिया जाता है:
अब आप एपीआई विधियों से संबंधित विभिन्न आदेशों को कॉल करने के लिए सीएलआई का उपयोग कर सकते हैं, उदाहरण के लिए:
डाटाबेस
एक डेटाबेस के रूप में, यह एप्लिकेशन डेटाबेस इंजन के रूप में MYSQL के साथ प्रत्येक API से जुड़े मेटाडेटा को संग्रहीत करने के लिए Aurora Serverless का उपयोग करता है। जब संभव हो सर्वर रहित AWS सेवाओं का उपयोग करके अवसंरचनात्मक ओवरहेड को कम करने के लिए Aurora सर्वर रहित डेटाबेस सेवा का चयन करना डिज़ाइन सिद्धांत का पालन करता है। निम्नलिखित चित्र इस वास्तुकला को दर्शाता है।
RSI सर्वर रहित इंजन मोड आंतरायिक उपयोग पैटर्न को पूरा करता है क्योंकि यह एप्लिकेशन नए ग्राहकों तक पहुंचता है और कार्यभार अभी भी अनिश्चित है। डेटाबेस एंडपॉइंट लॉन्च करते समय, एक विशिष्ट डीबी इंस्टेंस आकार की आवश्यकता नहीं होती है, क्लस्टर क्षमता के लिए केवल न्यूनतम और अधिकतम सीमा होती है। Aurora Serverless राउटर फ्लीट के उपयुक्त प्रावधान को संभालता है और संसाधनों के बीच कार्यभार वितरित करता है। Aurora Serverless स्वचालित रूप से न्यूनतम 1 दिन से 35 दिनों तक बैकअप प्रतिधारण करता है। टीम ने डिफ़ॉल्ट को 35 के अधिकतम मान पर सेट करके सुरक्षा के लिए अनुकूलित किया।
इसके अलावा, टीम ने इस्तेमाल किया डेटा एपीआई ऑरोरा सर्वरलेस क्लस्टर तक पहुंच को संभालने के लिए, जिसे लगातार कनेक्शन की आवश्यकता नहीं होती है, और इसके बजाय एक सुरक्षित HTTP एंडपॉइंट और एडब्ल्यूएस एसडीके के साथ एकीकरण प्रदान करता है। यह सुविधा उपयोग करती है AWS राज प्रबंधक डेटाबेस क्रेडेंशियल्स को स्टोर करने के लिए ताकि क्रेडेंशियल्स को स्पष्ट रूप से पास करने की कोई आवश्यकता न हो। CREATE TABLE स्क्रिप्ट नौ API से संबंधित नौ तालिकाओं में से प्रत्येक के लिए .sql फ़ाइलों में लिखी गई थीं। चूंकि इस डेटाबेस में सिस्टम में सभी मेटाडेटा और ऑब्जेक्ट की स्थिति शामिल थी, इसलिए API विधियों को उपयुक्त SQL कमांड (उदाहरण के लिए) का उपयोग करके चलाया गया था। select * from Job
के लिए list_jobs
एपीआई) और पास कर दिया execute_statement
डेटा एपीआई में अमेज़ॅन आरडीएस क्लाइंट से विधि।
वर्कफ़्लो ऑर्केस्ट्रेशन
एप्लिकेशन की कार्यात्मक रीढ़ को वर्कफ़्लो को समन्वित करने के लिए स्टेप फ़ंक्शंस का उपयोग करके नियंत्रित किया गया था, जैसा कि निम्नलिखित आरेख में दिखाया गया है।
स्टेट मशीन में चार लैम्ब्डा फ़ंक्शंस का एक क्रम शामिल था, जो तब शुरू होता है जब एक जॉब का उपयोग करके सबमिट किया जाता है create_job
से विधि job
एपीआई। जॉब क्रिएशन के लिए यूजर आईडी, प्रोजेक्ट आईडी, पाइपलाइन आईडी, पाइपलाइन पैरामीटर सेट आईडी, जॉब रिजल्ट पाथ, जॉब पैरामीटर और जॉब स्टेटस की जरूरत होती है। आप पहले वीडियो फ़ाइलों का एक .zip पैकेज अपलोड कर सकते हैं upload_handler
एक निर्धारित एस 3 यूआरएल उत्पन्न करने के लिए नौकरी एपीआई से विधि। नौकरी जमा करने के दौरान, फ़ाइल के स्थान को निर्दिष्ट करने के लिए इनपुट फ़ाइल पथ को नौकरी पैरामीटर के माध्यम से पारित किया जाता है। यह चार मुख्य चरणों को ट्रिगर करते हुए, वर्कफ़्लो स्टेट मशीन का संचालन शुरू करता है:
- प्रारंभकर्ता लैम्ब्डा समारोह
- सबमिटर लैम्ब्डा फ़ंक्शन
- कंप्लीशन चेक लैम्ब्डा फंक्शन
- कलेक्टर लैम्ब्डा समारोह
प्रारंभकर्ता लैम्ब्डा समारोह
इनिशियलाइज़र का मुख्य कार्य .zip पैकेज को अलग-अलग वीडियो फ़ाइलों में अलग करना और उन्हें सबमिटर के लिए तैयार करना है। सबसे पहले, .zip फ़ाइल डाउनलोड की जाती है, और फिर वीडियो फ़ाइलों सहित प्रत्येक व्यक्तिगत फ़ाइल को अनज़िप करके निकाला जाता है। वीडियो, अधिमानतः .mp4 प्रारूप में, एक S3 बकेट में वापस अपलोड किए जाते हैं। का उपयोग करते हुए create_video
में विधि video
एपीआई, एक वीडियो ऑब्जेक्ट इनपुट के रूप में वीडियो पथ के साथ बनाया जाता है। यह ऑरोरा डेटाबेस में प्रत्येक वीडियो पर डेटा सम्मिलित करता है। किसी भी अन्य फ़ाइल प्रकार, जैसे कि JSON फ़ाइलें, को मेटाडेटा माना जाता है और इसी तरह अपलोड किया जाता है, लेकिन कोई वीडियो ऑब्जेक्ट नहीं बनाया जाता है। निकाले गए फ़ाइलों और वीडियो फ़ाइलों के नामों की एक सूची अगले चरण में भेजी जाती है।
सबमिटर लैम्ब्डा फ़ंक्शन
सबमिटर फ़ंक्शन उन वीडियो फ़ाइलों को लेता है जिन्हें इनिशियलाइज़र द्वारा निकाला गया था और छवियों के रूप में वीडियो फ़्रेम के मिनी-बैच बनाता है। उत्पादन में अधिकांश वर्तमान कंप्यूटर विज़न मॉडल छवियों पर प्रशिक्षित किए गए हैं, इसलिए जब वीडियो संसाधित किया जाता है, तब भी उन्हें मॉडल अनुमान से पहले छवि फ़्रेम में अलग किया जाता है। एक अत्याधुनिक मुद्रा अनुमान मॉडल का उपयोग करने वाला यह वर्तमान समाधान अलग नहीं है-सबमिटर से फ्रेम बैचों को अनुमान पीढ़ी चरण शुरू करने के लिए किनेसिस डेटा स्ट्रीम में पास किया जाता है।
सबसे पहले, वीडियो फ़ाइल लैम्ब्डा फ़ंक्शन द्वारा डाउनलोड की जाती है। फ़्रेम दर और फ़्रेम की संख्या की गणना का उपयोग करके की जाती है FileVideoStream
मॉड्यूल से imutils.video
प्रसंस्करण पुस्तकालय। फ़्रेम को एक निर्दिष्ट मिनी-बैच आकार के अनुसार निकाला और समूहीकृत किया जाता है, जो इस पाइपलाइन के प्रमुख ट्यून करने योग्य मापदंडों में से एक है। पायथन अचार पुस्तकालय का उपयोग करके, डेटा को क्रमबद्ध किया जाता है और अमेज़न S3 पर अपलोड किया जाता है। इसके बाद, एक फ्रेम बैच ऑब्जेक्ट बनाया जाता है और ऑरोरा डेटाबेस में मेटाडेटा प्रविष्टि बनाई जाती है। यह लैम्ब्डा फ़ंक्शन एक Dockerfile का उपयोग करके निर्भरता के साथ बनाया गया था opencv-python
, numpy
, तथा imutils
पुस्तकालयों।
कंप्लीशन चेक लैम्ब्डा फंक्शन
कंप्लीशन चेक फंक्शन औरोरा डेटाबेस को क्वेरी करना जारी रखता है, यह देखने के लिए कि इस वर्तमान जॉब के लिए .zip पैकेज में प्रत्येक वीडियो के लिए, कितने फ्रेम बैच पूर्ण स्थिति में हैं। जब सभी वीडियो के लिए सभी फ़्रेम बैच पूर्ण हो जाते हैं, तो यह जाँच प्रक्रिया पूरी हो जाती है।
कलेक्टर लैम्ब्डा समारोह
कलेक्टर फ़ंक्शन उपभोक्ता चरण के दौरान प्रत्येक फ्रेम पर किए गए अनुमानों के आउटपुट लेता है और उन्हें एक फ्रेम बैच और एक वीडियो में जोड़ता है। संयुक्त मर्ज किए गए डेटा को तब S3 बकेट में अपलोड किया जाता है। फ़ंक्शन तब किसी विशेष एमएल पाइपलाइन के लिए कॉर्टेक्स पोस्टप्रोसेसिंग एपीआई को आमंत्रित करता है ताकि किसी भी पोस्टप्रोसेसिंग कंप्यूटेशंस को निष्पादित किया जा सके, और आउटपुट बकेट में वीडियो द्वारा एकत्रित परिणाम जोड़ता है। इनमें से कई मीट्रिक की गणना फ़्रेम में की जाती है, जैसे गति, त्वरण और संयुक्त कोण, इसलिए यह गणना एकत्रित डेटा पर की जानी चाहिए। मुख्य आउटपुट में मुख्य बिंदु डेटा (सीएसवी प्रारूप में एकत्रित), बीएमए गणना (जैसे त्वरण), और छवि फ़ाइल में प्रत्येक फ्रेम में जोड़े गए मुख्य बिंदुओं के दृश्य ओवरले शामिल हैं।
स्केलेबल पोज अनुमान अनुमान पीढ़ी
प्रसंस्करण इंजन जो एमएल अनुमान के स्केलिंग को शक्ति देता है, इस चरण में होता है। इसमें तीन मुख्य टुकड़े शामिल हैं, प्रत्येक के पास अपने स्वयं के समवर्ती लीवर होते हैं जिन्हें विलंबता ट्रेडऑफ़ के लिए ट्यून किया जा सकता है (निम्न आरेख देखें)।
यह आर्किटेक्चर लेटेंसी गेन के परीक्षण में प्रयोग के साथ-साथ भविष्य के लिए लचीलेपन की अनुमति देता है जब एप्लिकेशन तक पहुंचने वाले एंड-यूज़र सेगमेंट के विभिन्न मिश्रणों के साथ वर्कलोड बदल सकता है।
किनेसिस डेटा स्ट्रीम
टीम ने किनेसिस डेटा स्ट्रीम को चुना क्योंकि यह आमतौर पर स्ट्रीमिंग डेटा को संभालने के लिए उपयोग किया जाता है, और इस मामले में यह एक अच्छा फिट है क्योंकि यह स्केलेबिलिटी और समांतरता प्रदान करने के लिए उसी तरह फ्रेम बैचों को संभाल सकता है। सबमिटर लैम्ब्डा फ़ंक्शन में, किनेसिस Boto3 क्लाइंट का उपयोग किया जाता है, के साथ put_record
एकल फ़्रेम बैच से संबद्ध मेटाडेटा में पासिंग विधि, जैसे फ़्रेम बैच ID, फ़्रेम बैच प्रारंभ फ़्रेम, फ़्रेम बैच समाप्ति फ़्रेम, छवि आकार, फ़्रेम दर और वीडियो ID।
हमने थ्रूपुट के स्तर को सेट करने के लिए विभिन्न जॉब क्यू और किनेसिस डेटा स्ट्रीम कॉन्फ़िगरेशन को परिभाषित किया है जो विभिन्न उपयोगकर्ता समूहों के प्राथमिकता स्तर पर वापस आते हैं। प्रसंस्करण शक्ति के विभिन्न स्तरों तक पहुंच एक परियोजना कतार एआरएन पास करके जुड़ी हुई है जब एक नया प्रोजेक्ट बनाते समय project
एपीआई। उपयोगकर्ता समूह निर्माण के दौरान प्रत्येक उपयोगकर्ता समूह को एक विशेष परियोजना से जोड़ा जाता है। तीन डिफ़ॉल्ट स्ट्रीम कॉन्फ़िगरेशन को परिभाषित किया गया है AWS सर्वर रहित अनुप्रयोग मॉडल (एडब्ल्यूएस एसएएम) इंफ्रास्ट्रक्चर टेम्प्लेट:
- मानक -
JobStreamShardCount
- प्राथमिकता -
PriorityJobStreamShardCount
- उच्च प्राथमिकता -
HighPriorityJobStreamShardCount
टीम ने प्रत्येक स्ट्रीम की प्रोसेसिंग पावर को अलग करने या सिस्टम की लेटेंसी को ट्यून करने के लिए कुछ अलग लीवर का इस्तेमाल किया, जैसा कि निम्नलिखित तालिका में संक्षेप में बताया गया है।
लीवर | Description | डिफ़ॉल्ट मान |
ठीकरा | एक शार्ड किनेसिस डेटा स्ट्रीम का मूल निवासी है; यह अंतर्ग्रहण के लिए थ्रूपुट की आधार इकाई है। डिफ़ॉल्ट 1MB/सेकंड है, जो प्रति सेकंड 1,000 डेटा रिकॉर्ड के बराबर है। | 2 |
KinesisBatchSize |
उपभोक्ता लैम्ब्डा फ़ंक्शन को लागू करने से पहले एक बैच में किनेसिस डेटा स्ट्रीम द्वारा पुनर्प्राप्त किए जाने वाले रिकॉर्ड की अधिकतम संख्या। | 1 |
KinesisParallelizationFactor |
प्रत्येक शार्क से समवर्ती रूप से संसाधित होने वाले बैचों की संख्या। | 1 |
बढ़ी हुई फैन-आउट | जिन डेटा उपभोक्ताओं ने फैन-आउट सक्रिय किया है, उनके पास उपभोक्ताओं के बीच थ्रूपुट साझा करने के बजाय प्रति उपभोक्ता एक समर्पित अंतर्ग्रहण थ्रूपुट (जैसे डिफ़ॉल्ट 1MB/सेकंड) है। | बंद |
उपभोक्ता लैम्ब्डा समारोह
Kinesis डेटा स्ट्रीम के दृष्टिकोण से, एक डेटा उपभोक्ता एक AWS सेवा है जो डेटा स्ट्रीम शार्प से डेटा पुनर्प्राप्त करता है क्योंकि डेटा एक स्ट्रीम में उत्पन्न होता है। यह एप्लिकेशन उपभोक्ता लैम्ब्डा फ़ंक्शन का उपयोग करता है, जिसे डेटा स्ट्रीम कतारों से संदेशों को पारित करने पर लागू किया जाता है। प्रत्येक उपभोक्ता फ़ंक्शन निम्नलिखित चरणों का पालन करके एक फ्रेम बैच को संसाधित करता है। सबसे पहले, कॉर्टेक्स प्रोसेसर एपीआई को सिंक्रोनाइज़ किया जाता है, जो कि एंडपॉइंट है जो मॉडल इंट्रेंस पाइपलाइन को होस्ट करता है (अधिक विवरण के लिए कॉर्टेक्स के साथ अमेज़ॅन ईकेएस के बारे में अगला भाग देखें)। परिणाम अमेज़ॅन एस 3 में संग्रहीत किए जाते हैं, और संसाधित फ्रेम बैच की स्थिति को बदलकर डेटाबेस में अपडेट किया जाता है Complete
. कॉर्टेक्स क्लस्टर से किसी भी 504 त्रुटियों को संभालने के लिए रीट्री लूप के साथ कॉर्टेक्स एपीआई कॉल को प्रबंधित करने के लिए एरर हैंडलिंग को बनाया गया है, जिसमें रिट्रीट की संख्या 5 पर सेट है।
एमएल अनुमान के लिए कॉर्टेक्स के साथ अमेज़ॅन ईकेएस
टीम ने ML अनुमान के लिए गणना इंजन के रूप में, AWS में प्रबंधित Kubernetes सेवा Amazon EKS का उपयोग किया। एमएल एंडपॉइंट्स को होस्ट करने के लिए अमेज़ॅन ईकेएस का उपयोग करने के लिए एक डिज़ाइन विकल्प बनाया गया था, जो क्लस्टर के विकल्प के साथ अपस्ट्रीम कुबेरनेट्स को चलाने का लचीलापन देता है, दोनों एडब्ल्यूएस में पूरी तरह से प्रबंधित होते हैं। AWS फरगेट, या ऑन-प्रिमाइसेस हार्डवेयर के माध्यम से अमेज़न ईकेएस कहीं भी. यह इंटेल ओटीजी द्वारा वांछित कार्यक्षमता का एक महत्वपूर्ण हिस्सा था, जिसने इस एप्लिकेशन को विशेष ऑन-प्रिमाइसेस हार्डवेयर से जोड़ने का विकल्प प्रदान किया, उदाहरण के लिए।
तीन एमएल मॉडल जो अनुमान पाइपलाइनों के निर्माण के लिए बिल्डिंग ब्लॉक थे, एक कस्टम योलो मॉडल (ऑब्जेक्ट डिटेक्शन के लिए), एक कस्टम एचआरनेट मॉडल (2 डी पॉज़ अनुमान के लिए), और एक 3 डीएमपीपीई मॉडल (3 डी पॉज़ अनुमान के लिए) थे (पिछले देखें एमएल अनुभाग अधिक जानकारी के लिए)। उन्होंने ओपन-सोर्स का इस्तेमाल किया छाल ML इंट्रेंस पाइपलाइन एंडपॉइंट्स की तैनाती और प्रबंधन को संभालने के लिए लाइब्रेरी, और Amazon EKS क्लस्टर्स की लॉन्चिंग और तैनाती। इनमें से प्रत्येक मॉडल को डॉकर कंटेनरों में पैक किया गया था-मॉडल फाइलें अमेज़ॅन एस 3 में संग्रहीत की गई थीं और मॉडल छवियों को में संग्रहीत किया गया था अमेज़ॅन इलास्टिक कंटेनर रजिस्ट्री (अमेज़ॅन ईसीआर) —और कोर्टेक्स रीयलटाइम एपीआई के रूप में तैनात। सीपीयू और जीपीयू पर चलने वाले मॉडल कंटेनरों के संस्करण कंप्यूट हार्डवेयर के प्रकार के लिए लचीलापन प्रदान करने के लिए बनाए गए थे। भविष्य में, यदि अतिरिक्त मॉडल या मॉडल पाइपलाइनों को जोड़ने की आवश्यकता है, तो वे बस अतिरिक्त कॉर्टेक्स रीयलटाइम एपीआई बना सकते हैं।
फिर उन्होंने कॉर्टेक्स रीयलटाइम मॉडल एपीआई को कॉर्टेक्स रीयलटाइम पाइपलाइन एपीआई में एक साथ जोड़कर अनुमान पाइपलाइनों का निर्माण किया। एक एकल रीयलटाइम पाइपलाइन API में रीयलटाइम मॉडल API के अनुक्रम को कॉल करना शामिल था। उपभोक्ता लैम्ब्डा कार्यों का इलाज किया गया pipeline
एक ब्लैक बॉक्स के रूप में एपीआई, एक छवि के लिए अंतिम अनुमान आउटपुट को पुनः प्राप्त करने के लिए एकल एपीआई कॉल का उपयोग करना। दो पाइपलाइनें बनाई गईं: एक 2डी पाइपलाइन और एक 3डी पाइपलाइन।
2डी पाइपलाइन डिकोडिंग प्रीप्रोसेसिंग चरण को जोड़ती है, एथलीट का पता लगाने और बाउंडिंग बॉक्स बनाने के लिए कस्टम योलो मॉडल का उपयोग करके ऑब्जेक्ट डिटेक्शन, और अंत में पॉज़ अनुमान के लिए 2 डी कुंजी बिंदु बनाने के लिए एक कस्टम एचआरनेट मॉडल।
3डी पाइपलाइन एक डिकोडिंग प्रीप्रोसेसिंग चरण को जोड़ती है, एथलीट का पता लगाने और बाउंडिंग बॉक्स बनाने के लिए कस्टम योलो मॉडल का उपयोग करके ऑब्जेक्ट डिटेक्शन, और अंत में पोज़ अनुमान के लिए 3D प्रमुख बिंदु बनाने के लिए एक 3DMPPE मॉडल।
फ़्रेम के एक बैच पर निष्कर्ष उत्पन्न करने के बाद, प्रत्येक पाइपलाइन में एक अलग पोस्टप्रोसेसिंग रीयलटाइम कॉर्टेक्स एंडपॉइंट भी शामिल होता है जो तीन मुख्य आउटपुट उत्पन्न करता है:
- समेकित बॉडी कुंजी डेटा को एक CSV फ़ाइल में इंगित करती है
- बीएमए गणना (जैसे त्वरण)
- छवि फ़ाइल में प्रत्येक फ़्रेम में जोड़े गए प्रमुख बिंदुओं का दृश्य ओवरले
कलेक्टर लैम्ब्डा फ़ंक्शन इन पोस्टप्रोसेसिंग आउटपुट को उत्पन्न करने के लिए किसी विशेष वीडियो से जुड़े उपयुक्त मेटाडेटा को प्रस्तुत करता है, जैसे कि पोज़ अनुमान अनुमान आउटपुट के फ़्रेम आईडी और S3 स्थान।
कॉर्टेक्स को अमेज़ॅन ईकेएस के साथ एकीकृत करने के लिए डिज़ाइन किया गया है, और कुबेरनेट्स क्लस्टर लॉन्च करने के लिए केवल क्लस्टर कॉन्फ़िगरेशन फ़ाइल और एक साधारण कमांड की आवश्यकता होती है:
प्रदर्शन ट्यूनिंग के लिए एक और लीवर कंप्यूट क्लस्टर के लिए इंस्टेंस कॉन्फ़िगरेशन था। M5 और G4dn इंस्टेंस के अलग-अलग मिक्स के साथ तीन टियर बनाए गए थे, जिन्हें क्लस्टर नाम, रीजन और इंस्टेंस कॉन्फ़िगरेशन और मिक्स जैसे विनिर्देशों के साथ .yaml फाइलों के रूप में कोडित किया गया था। M5 इंस्टेंस कम लागत वाले CPU-आधारित हैं और G4dn कुछ लागत/प्रदर्शन ट्रेडऑफ़ प्रदान करने के लिए उच्च लागत वाले GPU-आधारित हैं।
परिचालन निगरानी
परिचालन लॉगिंग मानकों को बनाए रखने के लिए, सभी लैम्ब्डा कार्यों में रिकॉर्ड करने के लिए कोड शामिल होता है और लॉग को निगलना होता है अमेज़न Kinesis डेटा Firehose. उदाहरण के लिए, सबमिटर लैम्ब्डा फ़ंक्शन से संसाधित प्रत्येक फ़्रेम बैच को टाइमस्टैम्प, क्रिया के नाम और लैम्ब्डा फ़ंक्शन प्रतिक्रिया JSON के साथ लॉग किया जाता है और Amazon S3 में सहेजा जाता है। निम्नलिखित आरेख वास्तुकला में इस चरण को दिखाता है।
तैनाती
एडब्ल्यूएस एसएएम का उपयोग करके परिनियोजन को नियंत्रित किया जाता है, एडब्ल्यूएस में सर्वर रहित अनुप्रयोगों के निर्माण के लिए एक खुला स्रोत ढांचा। एडब्ल्यूएस एसएएम बुनियादी ढांचे के डिजाइन को सक्षम बनाता है, जिसमें फ़ंक्शन, एपीआई, डेटाबेस और इवेंट सोर्स मैपिंग को संहिताबद्ध किया जा सकता है और आसानी से नए एडब्ल्यूएस वातावरण में तैनात किया जा सकता है। परिनियोजन के दौरान, AWS SAM सिंटैक्स का अनुवाद किया जाता है एडब्ल्यूएस CloudFormation बुनियादी ढांचे के प्रावधान को संभालने के लिए।
A template.yaml
फ़ाइल में ट्यून करने योग्य मापदंडों के साथ बुनियादी ढांचे के विनिर्देश शामिल हैं, जैसे कि किनेसिस डेटा स्ट्रीम विलंबता लीवर पिछले अनुभागों में विस्तृत है। ए samconfig.toml
फ़ाइल में परिनियोजन पैरामीटर जैसे स्टैक नाम, S3 बकेट नाम जहां लैम्ब्डा फ़ंक्शन कोड जैसी एप्लिकेशन फ़ाइलें संग्रहीत हैं, और ट्रैकिंग लागत के लिए संसाधन टैग शामिल हैं। साधारण कमांड के साथ एक डिप्लॉय.श शेल स्क्रिप्ट वह सब है जो संपूर्ण टेम्प्लेट को बनाने और तैनात करने के लिए आवश्यक है:
उपयोगकर्ता कार्य प्रवाह
संक्षेप में, बुनियादी ढांचे को तैनात करने के बाद, आप आरंभ करने के लिए इस वर्कफ़्लो का अनुसरण कर सकते हैं:
- क्लाइंट लाइब्रेरी का उपयोग करके एक Intel 3DAT क्लाइंट बनाएँ।
- आवश्यक प्रसंस्करण के प्रकार के अनुरूप पाइपलाइन का एक नया उदाहरण बनाने के लिए एपीआई का उपयोग करें, जैसे कि 3 डी पोज अनुमान के लिए एक।
- एक प्रोजेक्ट का एक नया उदाहरण बनाएं, जो क्लस्टर एआरएन और किनेसिस कतार एआरएन में गुजर रहा है।
- पाइपलाइन पैरामीटर सेट का एक नया उदाहरण बनाएं।
- पाइपलाइन पैरामीटर सेट करने के लिए मैप करने वाले पाइपलाइन पैरामीटर का एक नया उदाहरण बनाएं।
- प्रोजेक्ट आईडी और पाइपलाइन पैरामीटर सेट आईडी से संबद्ध एक नया उपयोगकर्ता समूह बनाएं।
- एक नया उपयोगकर्ता बनाएँ जो उपयोगकर्ता समूह से संबद्ध हो।
- जॉब एपीआई में अपलोड फ़ंक्शन द्वारा उत्पन्न एक निर्धारित S3 URL का उपयोग करके Amazon S3 पर वीडियो की .zip फ़ाइल अपलोड करें।
- जमा करे एक
create_job
एपीआई कॉल, नौकरी के मापदंडों के साथ जो वीडियो फ़ाइलों का स्थान निर्दिष्ट करता है। यह प्रसंस्करण कार्य शुरू करता है।
निष्कर्ष
एप्लिकेशन अब लाइव है और एथलीटों और कोचों के साथ समान रूप से परीक्षण के लिए तैयार है। इंटेल ओटीजी डेवलपर्स से लेकर एथलीटों से लेकर सॉफ्टवेयर विक्रेता भागीदारों तक, विभिन्न प्रकार के उपयोगकर्ताओं के लिए कंप्यूटर विज़न का उपयोग करके नवीन मुद्रा अनुमान तकनीक को सुलभ बनाने के लिए उत्साहित है।
एडब्ल्यूएस टीम इंटेल ओटीजी जैसे ग्राहकों को एमएल सॉल्यूशंस लैब के साथ आइडिया और डिस्कवरी स्टेज से लेकर एडब्ल्यूएस एमएल प्रोसर्व के साथ हार्डनिंग और डिप्लॉयमेंट स्टेज तक उनकी एमएल यात्रा को तेज करने में मदद करने के लिए भावुक है। हम सभी इस गर्मी में 2021 टोक्यो ओलंपिक को करीब से देख रहे होंगे ताकि सभी प्रगति की कल्पना की जा सके कि एमएल खेल में अनलॉक कर सकता है।
आज से शुरुआत करें! इस पोस्ट में उल्लिखित सेवाओं और कई अन्य लोगों के साथ अपने उपयोग के मामले का अन्वेषण करें एडब्ल्यूएस प्रबंधन कंसोल.
लेखक के बारे में
हान यार सैन डिएगो, सीए में स्थित एडब्ल्यूएस में एक वरिष्ठ प्रबंधक- मशीन लर्निंग और एआई है। उनके पास नॉर्थवेस्टर्न यूनिवर्सिटी से इंजीनियरिंग में पीएचडी है और उनके पास प्रबंधन सलाहकार के रूप में कई वर्षों का अनुभव है जो ग्राहकों को विनिर्माण, वित्तीय सेवाओं और ऊर्जा में सलाह देता है। आज वह एडब्ल्यूएस पर मशीन लर्निंग और एआई समाधानों को विकसित करने और लागू करने के लिए विभिन्न उद्योगों के ग्राहकों के साथ जुनून से काम कर रहे हैं। उन्हें एनबीए का अनुसरण करना और अपने खाली समय में बास्केटबॉल खेलना पसंद है।
ईमान काम्याबी एडब्ल्यूएस प्रोफेशनल सर्विसेज के साथ एमएल इंजीनियर हैं। उन्होंने दोहराने योग्य और विश्वसनीय एमएल पाइपलाइनों की स्थापना में सर्वोत्तम प्रथाओं को चैंपियन बनाने के लिए एडब्ल्यूएस ग्राहकों की एक विस्तृत श्रृंखला के साथ काम किया है।
जोनाथन ली इंटेल में खेल प्रदर्शन प्रौद्योगिकी, ओलंपिक प्रौद्योगिकी समूह के निदेशक हैं। उन्होंने यूसीएलए में एक अंडरग्रेजुएट के रूप में स्वास्थ्य के लिए मशीन लर्निंग के आवेदन का अध्ययन किया और ऑक्सफोर्ड विश्वविद्यालय में अपने स्नातक कार्य के दौरान। उनके कैरियर ने स्वास्थ्य और मानव प्रदर्शन के लिए एल्गोरिदम और सेंसर विकास पर ध्यान केंद्रित किया है। वह अब इंटेल में 3 डी एथलीट ट्रैकिंग परियोजना का नेतृत्व करता है।
नेल्सन लेउंग इंटेल में खेल प्रदर्शन सीओई में प्लेटफ़ॉर्म आर्किटेक्ट है, जहां वह एथलेटिक प्रदर्शन को बढ़ाने वाले अत्याधुनिक उत्पादों के लिए एंड-टू-एंड आर्किटेक्चर को परिभाषित करता है। वह विभिन्न इंटेल भागीदारों के पैमाने पर इन मशीन लर्निंग समाधानों के कार्यान्वयन, परिनियोजन और उत्पादीकरण का नेतृत्व करता है।
ट्रॉय स्क्विलासी इंटेल में एक DecSecOps इंजीनियर है, जहां वह DevOps की सर्वोत्तम प्रथाओं के माध्यम से ग्राहकों को पेशेवर सॉफ़्टवेयर समाधान प्रदान करता है। उन्हें विभिन्न डोमेन में एआई समाधानों को स्केलेबल प्लेटफॉर्म में एकीकृत करने में आनंद आता है।
पॉल मिन अमेज़ॅन वेब सर्विसेज (एडब्ल्यूएस) में एक एसोसिएट सॉल्यूशंस आर्किटेक्ट इंटर्न हैं, जहां वह विभिन्न उद्योग वर्टिकल में ग्राहकों को अपने मिशन को आगे बढ़ाने और क्लाउड अपनाने में तेजी लाने में मदद करते हैं। पहले इंटेल में, उन्होंने 3डी एथलीट ट्रैकिंग क्लाउड एसडीके को विकसित करने में मदद करने के लिए एक सॉफ्टवेयर इंजीनियरिंग इंटर्न के रूप में काम किया। काम के बाहर, पॉल को गोल्फ खेलना पसंद है और उसे गाते हुए सुना जा सकता है।
- कॉइनस्मार्ट। यूरोप का सर्वश्रेष्ठ बिटकॉइन और क्रिप्टो एक्सचेंज।
- प्लेटोब्लॉकचैन। Web3 मेटावर्स इंटेलिजेंस। ज्ञान प्रवर्धित। नि: शुल्क प्रवेश।
- क्रिप्टोहॉक। Altcoin रडार। मुफ्त परीक्षण।
- स्रोत: https://aws.amazon.com/blogs/machine-learning/the-intel3d-athlete-tracking-3dat-scalable-architecture-deploys-pose-estimation-models-using-amazon-kinesis-data-streams- और-अमेज़ॅन-ईएक्स/
- "
- &
- 000
- 100
- 2021
- 3d
- About
- में तेजी लाने के
- पहुँच
- सुलभ
- अनुसार
- लेखा
- के पार
- कार्य
- कार्रवाई
- इसके अलावा
- अतिरिक्त
- व्यवस्थापक
- दत्तक ग्रहण
- AI
- कलन विधि
- सब
- वीरांगना
- अमेज़ॅन वेब सेवा
- बीच में
- एपीआई
- एपीआई
- आवेदन
- अनुप्रयोगों
- उपयुक्त
- स्थापत्य
- तर्क
- सौंपा
- सहयोगी
- एथलीटों
- विशेषताओं
- स्वचालित
- एडब्ल्यूएस
- बैकअप
- बास्केटबाल
- से पहले
- लाभ
- BEST
- सर्वोत्तम प्रथाओं
- काली
- ब्लॉग
- परिवर्तन
- मुक्केबाज़ी
- निर्माण
- इमारत
- कॉल
- क्षमता
- कौन
- कैरियर
- मामलों
- केंद्रीय
- चैंपियन
- परिवर्तन
- विकल्प
- ग्राहकों
- बादल
- कोड
- संग्रह
- कलेक्टर
- संयुक्त
- अंग
- गणना करना
- कंप्यूटर
- विन्यास
- संबंध
- सलाहकार
- उपभोक्ता
- उपभोक्ताओं
- कंटेनर
- कंटेनरों
- शामिल हैं
- जारी
- नियंत्रण
- समन्वय
- मूल
- इसी
- बनाना
- बनाया
- बनाता है
- बनाना
- निर्माण
- साख
- महत्वपूर्ण
- महत्वपूर्ण
- वर्तमान
- वर्तमान में
- रिवाज
- ग्राहक
- ग्राहक
- अग्रणी
- तिथि
- डाटाबेस
- डेटाबेस
- दिन
- समर्पित
- और गहरा
- बचाता है
- तैनात
- तैनात
- तैनाती
- तैनात
- डिज़ाइन
- बनाया गया
- विस्तार
- विस्तृत
- विवरण
- खोज
- विकसित करना
- डेवलपर
- डेवलपर्स
- विकास
- विभिन्न
- में अंतर
- प्रत्यक्ष
- निदेशक
- खोज
- प्रदर्शित करता है
- डाक में काम करनेवाला मज़दूर
- नहीं करता है
- डोमेन
- नीचे
- दौरान
- आसानी
- ईमेल
- endpoint
- ऊर्जा
- इंजन
- इंजीनियर
- अभियांत्रिकी
- वातावरण
- कार्यक्रम
- उदाहरण
- उत्तेजित
- मौजूदा
- उम्मीद
- अनुभव
- का पता लगाने
- Feature
- अंत में
- वित्तीय
- वित्तीय सेवाओं
- प्रथम
- फिट
- बेड़ा
- लचीलापन
- लचीला
- ध्यान केंद्रित
- का पालन करें
- निम्नलिखित
- इस प्रकार है
- प्रारूप
- दूरंदेशी
- फ्रेम
- ढांचा
- समारोह
- कार्यात्मक
- कार्यक्षमता
- कार्यों
- भविष्य
- उत्पन्न
- सृजन
- पीढ़ी
- देते
- लक्ष्य
- अच्छा
- GPU
- स्नातक
- समूह
- समूह की
- संभालना
- हैंडलिंग
- हार्डवेयर
- स्वास्थ्य
- सुना
- मदद
- मदद
- मदद करता है
- यहाँ उत्पन्न करें
- उच्चतर
- कैसे
- HTTPS
- मानव
- पहचान
- की छवि
- लागू करने के
- कार्यान्वयन
- महत्वपूर्ण
- शामिल
- शामिल
- सहित
- व्यक्ति
- उद्योगों
- उद्योग
- इंफ्रास्ट्रक्चर
- अभिनव
- निवेश
- आवेषण
- स्थापित
- एकीकृत
- एकीकरण
- इंटेल
- बुद्धि
- बातचीत
- इंटरफेस
- IT
- काम
- नौकरियां
- यात्रा
- कुंजी
- प्रयोगशाला
- लांच
- शुरू करने
- बिक्रीसूत्र
- सीख रहा हूँ
- स्तर
- पुस्तकालय
- लाइन
- सूची
- लोड हो रहा है
- स्थान
- स्थानों
- मशीन
- यंत्र अधिगम
- बनाया गया
- बनाए रखना
- प्रमुख
- बनाता है
- आदमी
- प्रबंधन
- कामयाब
- प्रबंध
- विनिर्माण
- नक्शा
- मानचित्रण
- उल्लेख किया
- तरीकों
- मेट्रिक्स
- न्यूनतम
- मिशन
- ML
- मोबाइल
- मोबाइल एप्लीकेशन
- आदर्श
- मॉडल
- मॉड्यूलर
- अधिक
- अधिकांश
- विभिन्न
- नामों
- एनबीए
- आवश्यक
- की जरूरत है
- संख्या
- ओलंपिक
- खोलता है
- संचालित
- अनुकूलित
- विकल्प
- आदेश
- अन्य
- अपना
- ऑक्सफोर्ड
- पैकेज
- भाग
- विशेष
- विशेष रूप से
- भागीदारों
- पासिंग
- आवेशपूर्ण
- पैटर्न
- प्रतिशतता
- प्रदर्शन
- प्रदर्शन
- परिप्रेक्ष्य
- टुकड़ा
- मंच
- प्लेटफार्म
- खेल
- कविता
- अंक
- संभव
- बिजली
- शक्तिशाली
- तैयार करना
- पिछला
- प्राथमिक
- सिद्धांत
- प्राथमिकता
- प्रक्रिया
- प्रक्रियाओं
- प्रसंस्करण
- प्रोसेसर
- उत्पादन
- उत्पादन
- उत्पाद
- पेशेवर
- परियोजना
- प्रदान करना
- प्रदान करता है
- उद्देश्य
- रेंज
- कच्चा
- रियल टाइम
- पहचान
- रिकॉर्ड
- अभिलेख
- के बारे में
- विश्वसनीय
- अनुरोधों
- की आवश्यकता होती है
- अपेक्षित
- आवश्यकताएँ
- की आवश्यकता होती है
- संसाधन
- उपयुक्त संसाधन चुनें
- प्रतिक्रिया
- परिणाम
- रन
- दौड़ना
- सुरक्षा
- सेन
- अनुमापकता
- स्केलेबल
- स्केल
- स्केलिंग
- एसडीके
- सुरक्षित
- खंड
- serverless
- सेवा
- सेवाएँ
- सेट
- की स्थापना
- आकार
- बांटने
- खोल
- दिखाया
- समान
- उसी प्रकार
- सरल
- आकार
- So
- सॉफ्टवेयर
- एक सेवा के रूप में सॉफ्टवेयर
- सॉफ्टवेयर इंजीनियरिंग
- समाधान
- समाधान ढूंढे
- कुछ
- कोई
- विशेषीकृत
- विनिर्देशों
- गति
- खेल-कूद
- धुआँरा
- ट्रेनिंग
- मानक
- मानकों
- प्रारंभ
- शुरू
- शुरू होता है
- राज्य
- राज्य के-the-कला
- स्थिति
- भंडारण
- की दुकान
- धारा
- स्ट्रीमिंग
- प्रस्तुत
- इसके बाद
- गर्मी
- समर्थन
- समर्थन करता है
- प्रणाली
- ले जा
- टीम
- टेक्नोलॉजी
- परीक्षण
- इसलिये
- यहाँ
- टाई
- पहर
- आज
- एक साथ
- टोक्यो
- ट्रैक
- ट्रैकिंग
- प्रकार
- आम तौर पर
- यूसीएलए
- विश्वविद्यालय
- यूनिवर्सिटी ऑफ ओक्सफोर्ड
- अनलॉक
- अपडेट
- उपयोग
- उपयोगकर्ताओं
- उपयोग
- मूल्य
- विविधता
- विभिन्न
- कार्यक्षेत्र
- वीडियो
- वीडियो
- दृष्टि
- वेब
- वेब सेवाओं
- कौन
- बिना
- काम
- काम किया
- काम कर रहे
- साल