विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.

अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट फॉर इक्विपमेंट के साथ विसंगतियों का पता लगाने और डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें

उद्योग 4.0 क्रांति के पिछले दशक ने वर्टिकल और वातावरण में मशीन लर्निंग (एमएल) के मूल्य और महत्व को दिखाया है, संभवतः किसी भी अन्य एप्लिकेशन की तुलना में विनिर्माण पर अधिक प्रभाव पड़ा है। महंगे और अनियोजित डाउनटाइम से बचने के लिए असेंबली लाइन विफलताओं की भविष्यवाणी करने में एमएल के लाभों को पहचानते हुए, अधिक स्वचालित, विश्वसनीय और लागत प्रभावी परिचालन प्रौद्योगिकी (ओटी) रणनीति को लागू करने वाले संगठनों ने मार्ग प्रशस्त किया है। फिर भी, सभी आकारों की टीमों के लिए चुनौतियां बनी हुई हैं कि वे इन नई तकनीकों को लागू करने के लिए आवश्यक बजट आवंटित करने के लिए प्रबंधन और वित्त मालिकों को राजी करने के लिए एमएल-आधारित विसंगति का पता लगाने के लिए कम प्रयास के साथ जल्दी और कम प्रयास करें। मॉडल प्रशिक्षण के लिए डेटा वैज्ञानिकों तक पहुंच के बिना, या एमएल विशेषज्ञों को स्थानीय स्तर पर समाधान तैनात करने के लिए, कारखाने के तल पर टीमों के लिए गोद लेना पहुंच से बाहर लग रहा है।

अब, कारखाने में मशीनों से सेंसर डेटा सिग्नल एकत्र करने वाली टीमें सेवाओं की शक्ति को अनलॉक कर सकती हैं अमेज़न टाइमस्ट्रीम, उपकरण के लिए अमेज़न लुकआउट, तथा AWS IoT कोर विनाशकारी डाउनटाइम घटनाओं से बचने में मदद करने के लिए स्थानीय किनारे पर पूरी तरह से उत्पादन-तैयार प्रणाली को आसानी से घुमाने और परीक्षण करने के लिए। लुकआउट फॉर इक्विपमेंट वास्तविक समय में आने वाले सेंसर डेटा का विश्लेषण करने के लिए आपके अद्वितीय एमएल मॉडल का उपयोग करता है और शुरुआती चेतावनी संकेतों की सटीक पहचान करता है जो मशीन की विफलता का कारण बन सकते हैं। इसका मतलब है कि आप गति और सटीकता के साथ उपकरण असामान्यताओं का पता लगा सकते हैं, समस्याओं का त्वरित निदान कर सकते हैं, महंगे डाउनटाइम को कम करने के लिए कार्रवाई कर सकते हैं और झूठे अलर्ट को कम कर सकते हैं। प्रतिक्रिया टीमों को विशिष्ट पिनपॉइंट्स के साथ सतर्क किया जा सकता है जिन पर सेंसर समस्या का संकेत दे रहे हैं, और पता चला घटना पर प्रभाव की भयावहता।

इस पोस्ट में, हम आपको दिखाते हैं कि आप एक प्रशिक्षित मॉडल के साथ अपने कारखाने के फर्श पर घटनाओं का अनुकरण करने के लिए एक प्रणाली कैसे स्थापित कर सकते हैं और टाइमस्ट्रीम, लुकआउट फॉर इक्विपमेंट और का उपयोग करके असामान्य व्यवहार का पता लगा सकते हैं। AWS लाम्बा कार्य करता है। इस पोस्ट के चरण इस बात पर जोर देते हैं एडब्ल्यूएस प्रबंधन कंसोल यूआई, यह दर्शाता है कि बिना डेवलपर पृष्ठभूमि या मजबूत कोडिंग कौशल के तकनीकी लोग एक प्रोटोटाइप का निर्माण कैसे कर सकते हैं। सिम्युलेटेड सेंसर सिग्नल का उपयोग करने से आप उत्पादन में कटौती करने से पहले अपने सिस्टम का परीक्षण कर सकेंगे और आत्मविश्वास हासिल कर सकेंगे। अंत में, इस उदाहरण में, हम उपयोग करते हैं अमेज़न सरल अधिसूचना सेवा (अमेज़ॅन एसएनएस) यह दिखाने के लिए कि कैसे टीमें अनुमानित घटनाओं की सूचनाएं प्राप्त कर सकती हैं और असेंबली लाइन विफलताओं के भयावह प्रभावों से बचने के लिए प्रतिक्रिया दे सकती हैं। इसके अतिरिक्त, टीमें उपयोग कर सकती हैं अमेज़न क्विकसाइट आगे के विश्लेषण और रिपोर्टिंग के लिए डैशबोर्ड के लिए।

समाधान अवलोकन

आरंभ करने के लिए, हम पहले आपके फ़ैक्टरी सेंसर रीडिंग से एक ऐतिहासिक डेटासेट एकत्र करते हैं, डेटा को निगलते हैं और मॉडल को प्रशिक्षित करते हैं। प्रशिक्षित मॉडल के साथ, हम फिर सेट करते हैं IoT डिवाइस सिम्युलेटर MQTT संकेतों को एक ऐसे विषय पर प्रकाशित करने के लिए जो लागत को कम रखते हुए, उत्पादन डेटा का उपयोग करने से पहले वांछित उत्पादन सेटिंग्स की पहचान करने के लिए सिस्टम के परीक्षण की अनुमति देगा।

निम्नलिखित चित्र हमारे समाधान वास्तुकला को दर्शाता है।

वर्कफ़्लो में निम्न चरण होते हैं:

  1. उपकरण मॉडल के लिए लुकआउट को प्रशिक्षित करने के लिए नमूना डेटा का उपयोग करें, और मॉडल सटीकता में सुधार के लिए लेबल किए गए डेटा प्रदान करें। 5 मिनट की नमूना दर के साथ, हम 20-30 मिनट में मॉडल को प्रशिक्षित कर सकते हैं।
  2. भागो ए एडब्ल्यूएस CloudFormation IoT सिम्युलेटर को सक्षम करने के लिए टेम्प्लेट, और सेंसर डेटा सिग्नल के प्रारूप में MQTT विषय को प्रकाशित करने के लिए एक सिमुलेशन बनाएं।
  3. MQTT विषय को पढ़ने के लिए एक IoT नियम क्रिया बनाएँ और संग्रहण के लिए Timestream को विषय पेलोड भेजें। ये वास्तविक समय के डेटासेट हैं जिनका उपयोग एमएल मॉडल के साथ अनुमान लगाने के लिए किया जाएगा।
  4. द्वारा ट्रिगर किया गया एक लैम्ब्डा फ़ंक्शन सेट करें अमेज़न EventBridge उपकरण के लिए लुकआउट के लिए डेटा को सीएसवी प्रारूप में परिवर्तित करने के लिए।
  5. उपकरण मॉडल के लिए लुकआउट को पार्स करने के लिए एक लैम्ब्डा फ़ंक्शन बनाएं जिसमें आउटपुट फ़ाइल शामिल हो अमेज़न सरल भंडारण सेवा (अमेज़ॅन S3) और, यदि विफलता की भविष्यवाणी की जाती है, तो कॉन्फ़िगर किए गए पते पर एक ईमेल भेजें। इसके अतिरिक्त प्रयोग करें एडब्ल्यूएस गोंद, अमेज़न एथेना, और QuickSight अनुमानित विफलता घटना में सेंसर डेटा योगदान की कल्पना करने के लिए।

.. पूर्वापेक्षाएँ

विसंगति का पता लगाने के लिए वातावरण स्थापित करने के लिए आपको AWS खाते तक पहुंच की आवश्यकता है।

डेटा सिम्युलेट करें और इसे AWS क्लाउड में डालें

अपना डेटा और अंतर्ग्रहण कॉन्फ़िगरेशन सेट अप करने के लिए, निम्न चरणों को पूरा करें:

  1. प्रशिक्षण फ़ाइल डाउनलोड करें सबसिस्टम-08_multisensor_training.csv और लेबल फ़ाइल लेबल_डेटा.सीएसवी. फ़ाइलों को स्थानीय रूप से सहेजें।
  2. अपने पसंदीदा क्षेत्र में Amazon S3 कंसोल पर, एक विशिष्ट नाम के साथ एक बकेट बनाएँ (उदाहरण के लिए, l4e-training-data), डिफ़ॉल्ट कॉन्फ़िगरेशन विकल्पों का उपयोग करके।
  3. बाल्टी खोलें और चुनें अपलोड, तो फाइलें जोड़ो.
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  4. नामक फ़ोल्डर में प्रशिक्षण डेटा अपलोड करें /training-data और लेबल डेटा को फ़ोल्डर कहा जाता है /labels.

अगला, आप S3 बकेट से डेटा के साथ प्रशिक्षित होने के लिए ML मॉडल बनाते हैं। ऐसा करने के लिए, आपको पहले एक प्रोजेक्ट बनाना होगा।

  1. लुकआउट फॉर इक्विपमेंट कंसोल पर, चुनें प्रोजेक्ट बनाएं.
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  2. प्रोजेक्ट को नाम दें और चुनें प्रोजेक्ट बनाएं.
  3. पर डेटासेट जोड़ें पृष्ठ, अपना S3 बकेट स्थान निर्दिष्ट करें।
  4. के लिए डिफ़ॉल्ट का प्रयोग करें एक नई भूमिका बनाएँ और क्लाउडवॉच लॉग सक्षम करें.
  5. चुनें फ़ाइल नाम से एसटी स्कीमा पहचान विधि.
  6. चुनें अंतर्ग्रहण शुरू करें.

अंतर्ग्रहण पूरा होने में कुछ मिनट लगते हैं।

  1. अंतर्ग्रहण पूर्ण होने पर, आप चुनकर डेटासेट के विवरण की समीक्षा कर सकते हैं डेटासेट देखें.
  2. पृष्ठ को नीचे स्क्रॉल करें और समीक्षा करें सेंसर द्वारा विवरण अनुभाग।
  3. यह देखने के लिए पृष्ठ के निचले भाग तक स्क्रॉल करें कि तीन सेंसर के डेटा के लिए सेंसर ग्रेड लेबल किया गया है Low.
  4. निम्न ग्रेड वाले तीन को छोड़कर सभी सेंसर रिकॉर्ड चुनें।
  5. चुनें मॉडल बनाएं.
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  6. पर मॉडल विवरण निर्दिष्ट करें पेज, मॉडल को एक नाम दें और चुनें अगला.
  7. पर इनपुट डेटा कॉन्फ़िगर करें पृष्ठ, प्रशिक्षण और मूल्यांकन सेटिंग्स और एक नमूना दर (इस पोस्ट के लिए, 1 मिनट) के लिए मान दर्ज करें।
  8. छोड़ें ऑफ-टाइम पहचान सेटिंग्स और चुनें अगला.
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  9. पर डेटा लेबल प्रदान करें पृष्ठ, S3 फ़ोल्डर स्थान निर्दिष्ट करें जहाँ लेबल डेटा है।
  10. चुनते हैं एक नई भूमिका बनाएँ.
  11. चुनें अगला.
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  12. पर समीक्षा करें और प्रशिक्षित करें पृष्ठ, चुनें प्रशिक्षण शुरू करो.

5 मिनट की नमूना दर के साथ, मॉडल को बनने में 20–30 मिनट लगने चाहिए।

जबकि मॉडल बन रहा है, हम बाकी आर्किटेक्चर को सेट कर सकते हैं।

सेंसर डेटा अनुकरण करें

  1. चुनें स्टैक लॉन्च करें सिम्युलेटेड सेंसर सिग्नल का उपयोग करके सेट अप करने के लिए CloudFormation टेम्प्लेट लॉन्च करने के लिए आईओटी सिम्युलेटर.
  2. टेम्प्लेट लॉन्च होने के बाद, CloudFormation कंसोल पर नेविगेट करें।
  3. पर ढेर पृष्ठ, चुनें IoTDeviceSimulator ढेर विवरण देखने के लिए।
  4. पर आउटपुट टैब, ढूंढें ConsoleURL कुंजी और संबंधित URL मान।
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  5. IoT डिवाइस सिम्युलेटर लॉगिन पृष्ठ खोलने के लिए URL चुनें।
  6. उपयोगकर्ता नाम और पासवर्ड बनाएं और चुनें साइन इन करें.
  7. यदि आपको बाद में फिर से साइन इन करने की आवश्यकता हो तो अपने क्रेडेंशियल्स को सेव करें।
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  8. IoT डिवाइस सिम्युलेटर मेनू बार से चुनें डिवाइस के प्रकार.
  9. डिवाइस प्रकार का नाम दर्ज करें, जैसे My_testing_device.
  10. एक MQTT विषय दर्ज करें, जैसे factory/line/station/simulated_testing.
  11. चुनें विशेषता जोड़ें.
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  12. विशेषता के लिए मान दर्ज करें signal5, जैसा कि निम्नलिखित स्क्रीनशॉट में दिखाया गया है।
  13. चुनें सहेजें.
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  14. चुनें विशेषता जोड़ें नमूना सिग्नल डेटा से मेल खाने के लिए फिर से और शेष विशेषताओं को जोड़ें, जैसा कि निम्न तालिका में दिखाया गया है।
. signal5 signal6 signal7 signal8 signal48 signal49 signal78 signal109 signal120 signal121
निम्न 95 347 27 139 458 495 675 632 742 675
Hi 150 460 217 252 522 613 812 693 799 680
  1. पर सिमुलेशन टैब चुनें सिमुलेशन जोड़ें.
  2. अनुकरण को एक नाम दें।
  3. निर्दिष्ट करें सिमुलेशन प्रकार as उपयोगकर्ता बनाया गया, उपकरण का प्रकार हाल ही में बनाए गए डिवाइस के रूप में, डेटा ट्रांसमिशन अंतराल 60 के रूप में, और डेटा ट्रांसमिशन अवधि 3600 के रूप में।
  4. अंत में, आपके द्वारा अभी-अभी बनाए गए सिमुलेशन को शुरू करें और पर उत्पन्न पेलोड देखें सिमुलेशन विवरण पेज चुनकर देखें.

अब जबकि सिग्नल उत्पन्न हो रहे हैं, हम MQTT विषयों को पढ़ने के लिए IoT Core को सेट कर सकते हैं और पेलोड को Timestream डेटाबेस पर निर्देशित कर सकते हैं।

  1. IoT कोर कंसोल पर, के अंतर्गत संदेश रूटिंग नेविगेशन फलक में, चुनें नियम.
  2. चुनें नियम बनाएं.
  3. एक नियम का नाम दर्ज करें और चुनें अगला.
  4. प्रकाशित MQTT विषय से सभी मान निकालने के लिए निम्न SQL कथन दर्ज करें:
SELECT signal5, signal6, signal7, signal8, signal48, signal49, signal78, signal109, signal120, signal121 FROM 'factory/line/station/simulated_testing'

विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.

  1. चुनें अगला.
  2. के लिए नियम क्रियाएं, टाइमस्ट्रीम तालिका खोजें।
  3. चुनें टाइमस्ट्रीम डेटाबेस बनाएं.

Timestream कंसोल के साथ एक नया टैब खुलता है।

  1. चुनते हैं मानक डेटाबेस.
  2. डेटाबेस का नाम दें sampleDB और चुनें डेटाबेस बनाएँ.

विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.

आप टाइमस्ट्रीम कंसोल पर रीडायरेक्ट हो जाते हैं, जहां आप अपने द्वारा बनाए गए डेटाबेस को देख सकते हैं।

  1. IoT कोर टैब पर लौटें और चुनें sampleDB एसटी डेटाबेस नाम.
  2. चुनें टाइमस्ट्रीम टेबल बनाएं डेटाबेस में एक टेबल जोड़ने के लिए जहां सेंसर डेटा सिग्नल संग्रहीत किए जाएंगे।
  3. टाइमस्ट्रीम कंसोल पर तालिका बनाएं टैब चुनें sampleDB एसटी डेटाबेस नाम, दर्ज signalTable एसटी तालिका नाम, और चुनें तालिका बनाएं.
  4. IoT संदेश रूटिंग नियम को पूरा करने के लिए IoT कोर कंसोल टैब पर लौटें।
  5. दर्ज Simulated_signal एसटी आयाम का नाम और 1 के लिए आयाम मूल्य, उसके बाद चुनो नई भूमिका बनाएं.

विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.

  1. भूमिका का नाम बताइए TimestreamRole और चुनें अगला.
  2. पर समीक्षा करें और बनाएं पृष्ठ, चुनें बनाएं.

आपने अब IoT Core में एक नियम कार्रवाई जोड़ दी है जो MQTT विषय पर प्रकाशित डेटा को Timestream डेटाबेस पर निर्देशित करता है।

विश्लेषण के लिए क्वेरी टाइमस्ट्रीम

विश्लेषण के लिए टाइमस्ट्रीम को क्वेरी करने के लिए, निम्न चरणों को पूरा करें:

  1. टाइमस्ट्रीम कंसोल पर नेविगेट करके और चुनकर सत्यापित करें कि डेटा डेटाबेस में संग्रहीत किया जा रहा है प्रश्न संपादक.
  2. चुनें तालिका चुनें, फिर विकल्प मेनू और चुनें पूर्वावलोकन डेटा.
  3. चुनें रन तालिका क्वेरी करने के लिए।

विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.

अब जब डेटा स्ट्रीम में संग्रहीत किया जा रहा है, तो आप तालिका से प्रत्येक 5 मिनट में डेटा खींचने के लिए लैम्ब्डा और इवेंटब्रिज का उपयोग कर सकते हैं, इसे प्रारूपित कर सकते हैं और अनुमान और पूर्वानुमान परिणामों के लिए इसे लुकआउट फॉर इक्विपमेंट को भेज सकते हैं।

  1. लैम्ब्डा कंसोल पर, चुनें फ़ंक्शन बनाएं.
  2. के लिए क्रम, चुनें अजगर 3.9.
  3. के लिए परत स्रोत, चुनते हैं एक एआरएन निर्दिष्ट करें.
  4. से अपने क्षेत्र के लिए सही ARN दर्ज करें एडब्ल्यूएस पांडा संसाधन.
  5. चुनें .

विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.

  1. फ़ंक्शन में निम्न कोड दर्ज करें और फ़ोल्डर के साथ बाल्टी में S3 पथ से मिलान करने के लिए इसे संपादित करें /input (यदि पहले से मौजूद नहीं है तो इन डेटा स्ट्रीम फ़ाइलों के लिए एक बकेट फ़ोल्डर बनाएँ)।

यह कोड का उपयोग करता है awswrangler लुकआउट फॉर इक्विपमेंट के लिए आवश्यक CSV फॉर्म में डेटा को आसानी से फॉर्मेट करने के लिए लाइब्रेरी। लैम्ब्डा फ़ंक्शन भी आवश्यकतानुसार डेटा फ़ाइलों को गतिशील रूप से नाम देता है।

import json
import boto3
import awswrangler as wr
from datetime import datetime
import pytz

def lambda_handler(event, context):
    # TODO implement
    UTC = pytz.utc
    my_date = datetime.now(UTC).strftime('%Y-%m-%d-%H-%M-%S')
    print(my_date)
      
    df = wr.timestream.query('SELECT time as Timestamp, max(case when measure_name = 'signal5' then measure_value::double/1000 end) as "signal-005", max(case when measure_name = 'signal6' then measure_value::double/1000 end) as "signal-006", max(case when measure_name = 'signal7' then measure_value::double/1000 end) as "signal-007", max(case when measure_name = 'signal8' then measure_value::double/1000 end) as "signal-008", max(case when measure_name = 'signal48' then measure_value::double/1000 end) as "signal-048", max(case when measure_name = 'signal49' then measure_value::double/1000 end) as "signal-049", max(case when measure_name = 'signal78' then measure_value::double/1000 end) as "signal-078", max(case when measure_name = 'signal109' then measure_value::double/1000 end) as "signal-109", max(case when measure_name = 'signal120' then measure_value::double/1000 end) as "signal-120", max(case when measure_name = 'signal121' then measure_value::double/1000 end) as "signal-121" 
    FROM ""."" WHERE time > ago(5m) group by time order by time desc')
    print(df)
    
    s3path ="s3:///input/_%s.csv" % my_date
    
    wr.s3.to_csv(df, s3path, index=False)
    
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

  1. चुनें तैनाती.
  2. पर विन्यास टैब चुनें सामान्य विन्यास.
  3. के लिए मध्यांतर, चुनें 5 मिनट.
  4. में समारोह सिंहावलोकन अनुभाग चुनते हैं, ट्रिगर जोड़ें स्रोत के रूप में EventBridge के साथ।
  5. चुनते हैं एक नया नियम बनाएं.
  6. नियम का नाम दें eventbridge-cron-job-lambda-read-timestream और जोड़ rate(5 minutes) एसटी अनुसूची अभिव्यक्ति.
  7. चुनें .
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  8. अपनी लैम्ब्डा निष्पादन भूमिका में निम्नलिखित नीति जोड़ें:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "s3:PutObject",
                "Resource": "arn:aws:s3:::/*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "timestream:DescribeEndpoints",
                    "timestream:ListTables",
                    "timestream:Select"
                ],
                "Resource": "*"
            }
        ]
    }

विसंगतियों की भविष्यवाणी करें और उपयोगकर्ताओं को सूचित करें

विसंगति की भविष्यवाणी और सूचना सेट करने के लिए, निम्नलिखित चरणों को पूरा करें:

  1. लुकआउट फॉर इक्विपमेंट प्रोजेक्ट पेज पर लौटें और चुनें अनुसूची अनुमान.
  2. शेड्यूल को नाम दें और पहले बनाए गए मॉडल को निर्दिष्ट करें।
  3. के लिए इनपुट डेटा, S3 निर्दिष्ट करें /input वह स्थान जहां लैम्बडा फ़ंक्शन और इवेंटब्रिज ट्रिगर का उपयोग करके फ़ाइलें लिखी जाती हैं।
  4. सेट डेटा अपलोड आवृत्ति सेवा मेरे 5 मिनट और निकलो ऑफसेट विलंब समय at 0 मिनट.
  5. के साथ एक S3 पथ सेट करें /output फ़ोल्डर के रूप में और अन्य डिफ़ॉल्ट मान छोड़ दें।
  6. चुनें अनुसूची अनुमान.

5 मिनट के बाद, S3 को चेक करें /output भविष्यवाणी फ़ाइलों को सत्यापित करने के लिए पथ बनाया गया है। परिणामों के बारे में अधिक जानकारी के लिए देखें निष्कर्ष परिणामों की समीक्षा करना.

अंत में, आप एक दूसरा लैम्ब्डा फ़ंक्शन बनाते हैं जो एक विसंगति की भविष्यवाणी होने पर अमेज़ॅन एसएनएस का उपयोग करके अधिसूचना को ट्रिगर करता है।

  1. अमेज़ॅन एसएनएस कंसोल पर, चुनें विषय बनाएँ.
  2. के लिए नाम, दर्ज emailnoti.
  3. चुनें बनाएं.
  4. में विवरण अनुभाग, के लिए प्रकार, चुनते हैं मानक.
  5. चुनें विषय बनाएँ.
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  6. पर अनुमोदन टैब, के साथ एक सदस्यता बनाएँ ईमेल प्रकार as प्रोटोकॉल और एक समापन बिंदु ईमेल पता जिसे आप एक्सेस कर सकते हैं।
  7. चुनें सदस्यता बनाएँ और ईमेल आने पर सदस्यता की पुष्टि करें।
  8. पर विषय टैब, ARN कॉपी करें।
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  9. निम्नलिखित कोड के साथ एक और लैम्ब्डा फ़ंक्शन बनाएँ और इसमें ARN विषय दर्ज करें MY_SYS_ARN:
    import boto3
    import sys
    import logging
    import os
    import datetime
    import csv
    import json
    
    MY_SNS_TOPIC_ARN = 'MY_SNS_ARN'
    client = boto3.client('s3')
    logger = logging.getLogger()
    logger.setLevel(logging.DEBUG)
    sns_client = boto3.client('sns')
    lambda_tmp_dir = '/tmp'
    
    def lambda_handler(event, context):
        
        for r in event['Records']:
            s3 = r['s3']
            bucket = s3['bucket']['name']
            key = s3['object']['key']
        source = download_json(bucket, key)
        with open(source, 'r') as content_file:
            content = json.load(content_file)
            if content['prediction'] == 1 :
                Messages = 'Time: ' + str(content['timestamp']) + 'n' + 'Equipment is predicted failure.' + 'n' + 'Diagnostics: '
                # Send message to SNS
                for diag in content['diagnostics']:
                    Messages = Messages + str(diag) + 'n'
        
                sns_client.publish(
                    TopicArn = MY_SNS_TOPIC_ARN,
                    Subject = 'Equipment failure prediction',
                    Message = Messages
                )
    
    def download_json(bucket, key):
        local_source_json = lambda_tmp_dir + "/" + key.split('/')[-1]
        directory = os.path.dirname(local_source_json)
        if not os.path.exists(directory):
            os.makedirs(directory)
        client.download_file(bucket, key.replace("%3A", ":"), local_source_json)
        return local_source_json

  10. चुनें तैनाती समारोह तैनात करने के लिए।

जब लुकआउट फॉर इक्विपमेंट में विसंगति का पता चलता है, तो परिणामों में पूर्वानुमान मान 1 होता है। लैम्ब्डा कोड JSONL फ़ाइल का उपयोग करता है और कॉन्फ़िगर किए गए पते पर एक ईमेल सूचना भेजता है।

  1. के अंतर्गत विन्यास, चुनें अनुमतियाँ और भूमिका का नाम.
  2. चुनें नीतियों को संलग्न करें और जोड़ AmazonS3FullAccess और AmazonSNSFullAccess भूमिका को।
  3. अंत में, फ़ंक्शन में S3 ट्रिगर जोड़ें और निर्दिष्ट करें /output बाल्टी।

विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.

कुछ मिनटों के बाद, आपको हर 5 मिनट में ईमेल आते दिखाई देने लगेंगे।

निष्कर्ष परिणामों की कल्पना करें

Amazon S3 द्वारा भविष्यवाणी के परिणामों को संग्रहीत करने के बाद, हम रिपोर्टिंग डैशबोर्ड बनाने के लिए एथेना और क्विकसाइट के साथ AWS Glue Data Catalog का उपयोग कर सकते हैं।

  1. एडब्ल्यूएस गोंद कंसोल पर, चुनें क्रौलर नेविगेशन फलक में
  2. चुनें क्रॉलर बनाएं.
  3. क्रॉलर को एक नाम दें, जैसे inference_crawler.
  4. चुनें डेटा स्रोत जोड़ें और इसके साथ S3 बकेट पाथ चुनें results.jsonl फाइलें.
  5. चुनते हैं सभी उप-फ़ोल्डरों को क्रॉल करें.
  6. चुनें एक S3 डेटा स्रोत जोड़ें.
  7. चुनें नई IAM भूमिका बनाएं.
  8. एक डेटाबेस बनाएँ और एक नाम प्रदान करें (उदाहरण के लिए, anycompanyinferenceresult).
  9. के लिए क्रॉलर शेड्यूल, चुनें मांगने पर.
  10. चुनें अगला, उसके बाद चुनो क्रॉलर बनाएं.
  11. जब क्रॉलर पूरा हो जाए, तो चुनें क्रॉलर चलाएं.

विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.

  1. एथेना कंसोल पर, क्वेरी संपादक खोलें।
  2. चुनें सेटिंग्स बदलें Amazon S3 में क्वेरी परिणाम स्थान सेट करने के लिए।
  3. यदि आपने बकेट नहीं बनाया है, तो Amazon S3 कंसोल के माध्यम से अभी एक बकेट बनाएं।
  4. एथेना कंसोल पर लौटें, बाल्टी चुनें और चुनें सहेजें.
  5. इस पर लौटे संपादक (एडिटर) टैब क्वेरी संपादक में और एक क्वेरी चलाने के लिए select * से /output S3 फ़ोल्डर।
  6. अपेक्षा के अनुरूप विसंगति का पता लगाने वाले परिणामों की समीक्षा करें।

विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.

  1. भविष्यवाणी के परिणामों की कल्पना करने के लिए, QuickSight कंसोल पर नेविगेट करें।
  2. चुनें नया विश्लेषण और नया डेटासेट.
  3. के लिए डेटासेट स्रोत, चुनें एथेना.
  4. के लिए डेटा स्रोत का नाम, दर्ज MyDataset.
  5. चुनें डेटा स्रोत बनाएँ.
  6. आपके द्वारा बनाई गई तालिका चुनें, फिर चुनें कस्टम SQL का उपयोग करें.
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  7. निम्नलिखित क्वेरी दर्ज करें:
    with dataset AS 
        (SELECT timestamp,prediction, names
        FROM "anycompanyinferenceresult"."output"
        CROSS JOIN UNNEST(diagnostics) AS t(names))
    SELECT  SPLIT_PART(timestamp,'.',1) AS timestamp, prediction,
        SPLIT_PART(names.name,'',1) AS subsystem,
        SPLIT_PART(names.name,'',2) AS sensor,
        names.value AS ScoreValue
    FROM dataset

  8. क्वेरी की पुष्टि करें और चुनें कल्पना.
  9. चुनें पिवट तालिका.
  10. निर्दिष्ट करें टाइमस्टैम्प और सेंसर एसटी पंक्तियाँ.
  11. निर्दिष्ट करें भविष्यवाणी और स्कोरवैल्यू एसटी मान.
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.
  12. चुनें विज़ुअल जोड़ें एक दृश्य वस्तु जोड़ने के लिए।
  13. चुनें वर्टिकल बार चार्ट.
  14. निर्दिष्ट करें टाइमस्टैम्प एसटी एक्स अक्ष, स्कोरवैल्यू एसटी वैल्यू , तथा सेंसर एसटी समूह/रंग.
  15. परिवर्तन स्कोरवैल्यू सेवा मेरे कुल: औसत.
    विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.

क्लीन अप

संसाधनों को हटाने में विफल होने पर अतिरिक्त शुल्क लग सकते हैं। अपने संसाधनों को साफ़ करने के लिए, निम्न चरणों को पूरा करें:

  1. QuickSight कंसोल पर, चुनें हाल का नेविगेशन फलक में
  2. इस पोस्ट के भाग के रूप में आपके द्वारा बनाए गए सभी संसाधनों को हटा दें।
  3. पर नेविगेट करें डेटासेट पृष्ठ और आपके द्वारा बनाए गए डेटासेट को हटा दें।
  4. लुकआउट फॉर इक्विपमेंट कंसोल पर, इस पोस्ट में उपयोग किए गए प्रोजेक्ट, डेटासेट, मॉडल और अनुमान शेड्यूल हटाएं।
  5. टाइमस्ट्रीम कंसोल पर, डेटाबेस और संबंधित तालिकाओं को हटा दें।
  6. लैम्ब्डा कंसोल पर, EventBridge और Amazon S3 ट्रिगर्स को हटा दें।
  7. S3 बकेट, IoT कोर नियम और IoT सिम्युलेशन और डिवाइस हटाएं।

निष्कर्ष

इस पोस्ट में, आपने सीखा कि निम्न-कोड दृष्टिकोण के साथ रीयल-टाइम स्ट्रीमिंग डेटा का उपयोग करके भविष्य कहनेवाला रखरखाव के लिए मशीन लर्निंग को कैसे लागू किया जाए। टाइमस्ट्रीम, लुकआउट फॉर इक्विपमेंट और लैम्ब्डा जैसी प्रबंधित AWS सेवाओं का उपयोग करके आपने विभिन्न टूल सीखे हैं जो इस प्रक्रिया में आपकी मदद कर सकते हैं, इसलिए ऑपरेशनल टीमें ओवरहेड के लिए अतिरिक्त वर्कलोड जोड़े बिना मूल्य देखती हैं। क्योंकि आर्किटेक्चर सर्वर रहित तकनीक का उपयोग करता है, यह आपकी आवश्यकताओं को पूरा करने के लिए ऊपर और नीचे स्केल कर सकता है।

अधिक डेटा-आधारित सीखने के संसाधनों के लिए, पर जाएँ एडब्ल्यूएस ब्लॉग होम पेज.


लेखक के बारे में

विसंगतियों का पता लगाने और उपकरण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट के साथ डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें। लंबवत खोज. ऐ.मैट रीड AWS में ऑटोमोटिव और मैन्युफैक्चरिंग में सीनियर सॉल्यूशन आर्किटेक्ट हैं। वह हर किसी के जीवन को बेहतर बनाने के लिए ग्राहकों की समस्याओं को शांत तकनीक से हल करने में मदद करने के बारे में भावुक हैं। मैट को माउंटेन बाइक, स्की करना और दोस्तों, परिवार और कुत्तों और बिल्लियों के साथ घूमना पसंद है।

समय टिकट:

से अधिक AWS मशीन लर्निंग

पूर्व-प्रशिक्षित मॉडल के साथ अमेज़ॅन सेजमेकर बिल्ट-इन एल्गोरिदम का उपयोग करके एमएल मॉडल के प्रदर्शन को बढ़ाएं और प्रशिक्षण समय को कम करें

स्रोत नोड: 1719203
समय टिकट: अक्टूबर 6, 2022