از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.

از یادگیری ماشین برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment استفاده کنید

دهه آخر انقلاب Industry 4.0 ارزش و اهمیت یادگیری ماشین (ML) را در سراسر عمودی و محیط‌ها نشان داده است، که احتمالاً بیش از هر برنامه دیگری بر تولید تأثیر می‌گذارد. سازمان‌هایی که استراتژی فناوری عملیاتی خودکار، قابل اعتماد و مقرون‌به‌صرفه‌تر را پیاده‌سازی می‌کنند، با تشخیص مزایای ML در پیش‌بینی خرابی‌های خط مونتاژ برای جلوگیری از خرابی‌های پرهزینه و برنامه‌ریزی نشده، این راه را رهبری کرده‌اند. با این حال، چالش‌هایی برای تیم‌هایی با اندازه‌های مختلف باقی می‌ماند که به سرعت و با تلاش کمی، ارزش تشخیص ناهنجاری مبتنی بر ML را به منظور متقاعد کردن مدیران و صاحبان مالی برای تخصیص بودجه لازم برای اجرای این فناوری‌های جدید نشان دهند. بدون دسترسی به دانشمندان داده برای آموزش مدل، یا متخصصان ML برای استقرار راه‌حل‌ها در سطح محلی، پذیرش برای تیم‌های حاضر در کارخانه دور از دسترس به نظر می‌رسد.

اکنون، تیم‌هایی که سیگنال‌های داده‌های حسگر را از ماشین‌های موجود در کارخانه جمع‌آوری می‌کنند، می‌توانند قدرت خدماتی مانند این را باز کنند آمازون تایم استریم, آمازون مواظب تجهیزاتو AWS IoT Core به راحتی چرخاندن و آزمایش یک سیستم کاملاً آماده برای تولید در لبه محلی برای کمک به جلوگیری از رویدادهای خرابی فاجعه بار. Lookout for Equipment از مدل منحصربه‌فرد ML شما برای تجزیه و تحلیل داده‌های حسگر دریافتی در زمان واقعی و شناسایی دقیق علائم هشدار اولیه که می‌تواند منجر به خرابی دستگاه شود، استفاده می‌کند. این بدان معنی است که می توانید ناهنجاری های تجهیزات را با سرعت و دقت تشخیص دهید، به سرعت مشکلات را تشخیص دهید، برای کاهش زمان خرابی گران قیمت و کاهش هشدارهای نادرست اقدام کنید. تیم‌های پاسخ را می‌توان با نقاط مشخصی که حسگرها مشکل را نشان می‌دهند و میزان تأثیر بر رویداد شناسایی‌شده هشدار داد.

در این پست، ما به شما نشان می‌دهیم که چگونه می‌توانید سیستمی را برای شبیه‌سازی رویدادها در کارخانه خود با یک مدل آموزش‌دیده راه‌اندازی کنید و با استفاده از Timestream، Lookout for Equipment و رفتار غیرعادی را تشخیص دهید. AWS لامبدا کارکرد. مراحل این پست بر روی کنسول مدیریت AWS UI، نشان می دهد که چگونه افراد فنی بدون پیشینه توسعه دهنده یا مهارت های کدنویسی قوی می توانند یک نمونه اولیه بسازند. استفاده از سیگنال‌های حسگر شبیه‌سازی شده به شما این امکان را می‌دهد که سیستم خود را آزمایش کنید و قبل از شروع به تولید، اطمینان حاصل کنید. در نهایت، در این مثال، ما استفاده می کنیم سرویس اطلاع رسانی ساده آمازون (Amazon SNS) برای نشان دادن اینکه چگونه تیم ها می توانند اعلان رویدادهای پیش بینی شده را دریافت کنند و برای جلوگیری از اثرات فاجعه بار خرابی خط مونتاژ پاسخ دهند. علاوه بر این، تیم ها می توانند استفاده کنند آمازون QuickSight برای تجزیه و تحلیل بیشتر و داشبورد برای گزارش.

بررسی اجمالی راه حل

برای شروع، ابتدا یک مجموعه داده تاریخی از خوانش‌های حسگر کارخانه شما جمع‌آوری می‌کنیم، داده‌ها را دریافت می‌کنیم و مدل را آموزش می‌دهیم. با مدل آموزش دیده، سپس راه اندازی کردیم شبیه ساز دستگاه اینترنت اشیا انتشار سیگنال‌های MQTT برای موضوعی که به آزمایش سیستم اجازه می‌دهد تا تنظیمات تولید مورد نظر را قبل از استفاده از داده‌های تولید شناسایی کند و هزینه‌ها را پایین نگه دارد.

نمودار زیر معماری راه حل ما را نشان می دهد.

گردش کار شامل مراحل زیر است:

  1. از داده های نمونه برای آموزش مدل Lookout for Equipment و داده های برچسب گذاری شده ارائه شده برای بهبود دقت مدل استفاده کنید. با نرخ نمونه 5 دقیقه، می توانیم مدل را در 20 تا 30 دقیقه آموزش دهیم.
  2. اجرا کنید AWS CloudFormation الگویی برای فعال کردن IoT Simulator و ایجاد یک شبیه سازی برای انتشار یک موضوع MQTT در قالب سیگنال های داده های حسگر.
  3. یک اقدام قانون اینترنت اشیا برای خواندن مبحث MQTT ایجاد کنید و بار موضوع را برای ذخیره به Timestream ارسال کنید. اینها مجموعه داده های بلادرنگی هستند که برای استنباط با مدل ML استفاده خواهند شد.
  4. یک تابع Lambda راه اندازی شده توسط پل رویداد آمازون برای تبدیل داده ها به فرمت CSV برای Lookout for Equipment.
  5. یک تابع Lambda برای تجزیه فایل خروجی استنتاج مدل Lookout for Equipment ایجاد کنید سرویس ذخیره سازی ساده آمازون (Amazon S3) و در صورت پیش بینی خرابی، یک ایمیل به آدرس پیکربندی شده ارسال کنید. علاوه بر این، استفاده کنید چسب AWS, آمازون آتناو QuickSight برای تجسم مشارکت داده‌های حسگر در رویداد شکست پیش‌بینی‌شده.

پیش نیازها

برای تنظیم محیط برای تشخیص ناهنجاری، باید به یک حساب AWS دسترسی داشته باشید.

داده ها را شبیه سازی کنید و آن ها را در AWS Cloud وارد کنید

برای تنظیم پیکربندی داده و انتقال، مراحل زیر را انجام دهید:

  1. فایل آموزشی را دانلود کنید subsystem-08_multisensor_training.csv و فایل برچسب ها labels_data.csv. فایل ها را به صورت محلی ذخیره کنید.
  2. در کنسول آمازون S3 در منطقه دلخواه خود، یک سطل با یک نام منحصر به فرد ایجاد کنید (به عنوان مثال، l4e-training-data)، با استفاده از گزینه های پیکربندی پیش فرض.
  3. سطل را باز کنید و انتخاب کنید بارگذاری، و سپس اضافه کردن فایل.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  4. داده های آموزشی را در پوشه ای به نام آپلود کنید /training-data و داده های برچسب به پوشه ای به نام /labels.

سپس، مدل ML را ایجاد می کنید تا با داده های سطل S3 آموزش داده شود. برای این کار ابتدا باید یک پروژه ایجاد کنید.

  1. در کنسول Lookout for Equipment، را انتخاب کنید ایجاد پروژه.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  2. پروژه را نام ببرید و انتخاب کنید ایجاد پروژه.
  3. بر افزودن مجموعه داده صفحه، محل سطل S3 خود را مشخص کنید.
  4. استفاده از پیش فرض برای یک نقش جدید ایجاد کنید و CloudWatch Logs را فعال کنید.
  5. را انتخاب کنید با نام فایل برای روش تشخیص طرحواره.
  6. را انتخاب کنید مصرف را شروع کنید.

بلع چند دقیقه طول می کشد تا کامل شود.

  1. هنگامی که انتقال کامل شد، می‌توانید جزئیات مجموعه داده را با انتخاب بررسی کنید مشاهده مجموعه داده.
  2. صفحه را به پایین اسکرول کنید و آن را مرور کنید جزئیات توسط سنسور بخش.
  3. به پایین صفحه بروید تا ببینید که درجه سنسور برای داده های سه حسگر برچسب گذاری شده است Low.
  4. تمام رکوردهای حسگر به جز سه رکورد با درجه پایین را انتخاب کنید.
  5. را انتخاب کنید مدل ایجاد کنید.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  6. بر جزئیات مدل را مشخص کنید صفحه، مدل را نام گذاری کنید و انتخاب کنید بعدی.
  7. بر پیکربندی داده های ورودی در صفحه، مقادیر مربوط به تنظیمات آموزش و ارزیابی و نرخ نمونه را وارد کنید (برای این پست، 1 دقیقه).
  8. رد شوید تشخیص زمان خاموش تنظیمات و انتخاب کنید بعدی.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  9. بر برچسب های داده را ارائه دهید صفحه، محل پوشه S3 را که داده های برچسب در آن قرار دارند، مشخص کنید.
  10. انتخاب کنید یک نقش جدید ایجاد کنید.
  11. را انتخاب کنید بعدی.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  12. بر بررسی و آموزش دهید صفحه ، انتخاب کنید آموزش را شروع کنید.

با نرخ نمونه 5 دقیقه، ساخت مدل باید 20 تا 30 دقیقه طول بکشد.

در حالی که مدل در حال ساخت است، ما می توانیم بقیه معماری را تنظیم کنیم.

شبیه سازی داده های حسگر

  1. را انتخاب کنید Stack را راه اندازی کنید برای راه اندازی یک الگوی CloudFormation برای تنظیم سیگنال های حسگر شبیه سازی شده با استفاده از شبیه ساز اینترنت اشیا.
  2. پس از راه اندازی الگو، به کنسول CloudFormation بروید.
  3. بر پشته صفحه ، انتخاب کنید IoTDeviceSimulator برای دیدن جزئیات پشته
  4. بر خروجی برگه را پیدا کنید ConsoleURL کلید و مقدار URL مربوطه.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  5. URL را برای باز کردن صفحه ورود به سیستم شبیه ساز دستگاه اینترنت اشیا انتخاب کنید.
  6. یک نام کاربری و رمز عبور ایجاد کنید و انتخاب کنید ورود.
  7. در صورتی که بعداً نیاز به ورود مجدد به سیستم داشته باشید، اعتبار خود را ذخیره کنید.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  8. از نوار منوی IoT Device Simulator، را انتخاب کنید انواع دستگاه.
  9. نام نوع دستگاه را وارد کنید، مانند My_testing_device.
  10. یک موضوع MQTT را وارد کنید، مانند factory/line/station/simulated_testing.
  11. را انتخاب کنید افزودن ویژگی.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  12. مقادیر مشخصه را وارد کنید signal5، همانطور که در تصویر زیر نشان داده شده است.
  13. را انتخاب کنید ذخیره.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  14. را انتخاب کنید افزودن ویژگی دوباره و همانطور که در جدول زیر نشان داده شده است، ویژگی های باقیمانده را برای مطابقت با داده های سیگنال نمونه اضافه کنید.
. سیگنال 5 سیگنال 6 سیگنال 7 سیگنال 8 سیگنال 48 سیگنال 49 سیگنال 78 سیگنال 109 سیگنال 120 سیگنال 121
کم 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. در نهایت، شبیه سازی را که ایجاد کرده اید شروع کنید و بارهای تولید شده را مشاهده کنید جزئیات شبیه سازی صفحه با انتخاب چشم انداز.

اکنون که سیگنال‌ها تولید می‌شوند، می‌توانیم IoT Core را برای خواندن موضوعات MQTT تنظیم کنیم و بارها را به پایگاه داده Timestream هدایت کنیم.

  1. در کنسول IoT Core، در زیر مسیریابی پیام در قسمت ناوبری، را انتخاب کنید قوانین.
  2. را انتخاب کنید قانون ایجاد کنید.
  3. نام قانون را وارد کرده و انتخاب کنید بعدی.
  4. عبارت SQL زیر را وارد کنید تا تمام مقادیر از موضوع منتشر شده MQTT استخراج شود:
SELECT signal5, signal6, signal7, signal8, signal48, signal49, signal78, signal109, signal120, signal121 FROM 'factory/line/station/simulated_testing'

از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.

  1. را انتخاب کنید بعدی.
  2. برای اعمال قانون، جدول Timestream را جستجو کنید.
  3. را انتخاب کنید ایجاد پایگاه داده Timestream.

یک تب جدید با کنسول Timestream باز می شود.

  1. انتخاب کنید پایگاه داده استاندارد.
  2. پایگاه داده را نام ببرید sampleDB و انتخاب کنید پایگاه داده ایجاد کنید.

از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.

شما به کنسول Timestream هدایت می شوید، جایی که می توانید پایگاه داده ای را که ایجاد کرده اید مشاهده کنید.

  1. به تب IoT Core برگردید و انتخاب کنید sampleDB برای نام پایگاه داده.
  2. را انتخاب کنید جدول Timestream ایجاد کنید برای اضافه کردن یک جدول به پایگاه داده که در آن سیگنال های داده های حسگر ذخیره می شوند.
  3. در کنسول Timestream ایجاد جدول برگه ، انتخاب کنید sampleDB برای نام پایگاه داده، وارد signalTable برای نام جدول، و انتخاب کنید ایجاد جدول.
  4. برای تکمیل قانون مسیریابی پیام IoT به تب کنسول IoT Core برگردید.
  5. وارد Simulated_signal برای نام ابعاد و 1 برای ارزش ابعاد، پس از آن را انتخاب کنید نقش جدید ایجاد کنید.

از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.

  1. نقش را نام ببرید TimestreamRole و انتخاب کنید بعدی.
  2. بر بررسی و ایجاد کنید صفحه ، انتخاب کنید ساختن.

شما اکنون یک اقدام قانون در هسته IoT اضافه کرده اید که داده های منتشر شده در موضوع MQTT را به پایگاه داده Timestream هدایت می کند.

پرس و جو زمان برای تجزیه و تحلیل

برای جستجوی Timestream برای تجزیه و تحلیل، مراحل زیر را انجام دهید:

  1. با رفتن به کنسول Timestream و انتخاب، داده‌هایی که در پایگاه داده ذخیره می‌شوند، اعتبارسنجی کنید ویرایشگر پرس و جو.
  2. را انتخاب کنید جدول را انتخاب کنید، سپس منوی گزینه ها را انتخاب کنید و پیش نمایش داده ها.
  3. را انتخاب کنید دویدن برای استعلام جدول

از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.

اکنون که داده‌ها در جریان ذخیره می‌شوند، می‌توانید با استفاده از Lambda و EventBridge، داده‌ها را هر 5 دقیقه از جدول بیرون بکشید، قالب‌بندی کنید و برای استنتاج و نتایج پیش‌بینی به Lookout for Equipment ارسال کنید.

  1. در کنسول لامبدا، را انتخاب کنید ایجاد تابع.
  2. برای زمان اجرا، انتخاب کنید پایتون 3.9.
  3. برای منبع لایه، انتخاب کنید یک ARN را مشخص کنید.
  4. ARN صحیح را برای منطقه خود از قسمت وارد کنید منبع aws pandas.
  5. را انتخاب کنید اضافه کردن.

از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.

  1. کد زیر را در تابع وارد کنید و آن را ویرایش کنید تا مسیر S3 به یک سطل با پوشه مطابقت داشته باشد /input (اگر قبلاً موجود نیست، یک پوشه سطلی برای این فایل های جریان داده ایجاد کنید).

این کد از awswrangler کتابخانه ای برای قالب بندی آسان داده ها در فرم CSV مورد نیاز برای Lookout for Equipment. تابع Lambda همچنین به صورت پویا فایل های داده را در صورت نیاز نامگذاری می کند.

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. را انتخاب کنید اضافه کردن.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  8. خط مشی زیر را به نقش اجرای Lambda خود اضافه کنید:
    {
        "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. به صفحه پروژه Lookout for Equipment برگردید و انتخاب کنید زمانبندی استنتاج.
  2. برنامه زمانبندی را نامگذاری کنید و مدل ایجاد شده قبلی را مشخص کنید.
  3. برای داده های ورودیS3 را مشخص کنید /input مکانی که فایل ها با استفاده از تابع Lambda و ماشه EventBridge نوشته می شوند.
  4. تنظیم فرکانس آپلود داده ها به دقیقه 5 و ترک زمان تاخیر افست at دقیقه 0.
  5. یک مسیر S3 با /output به عنوان پوشه و سایر مقادیر پیش فرض را بگذارید.
  6. را انتخاب کنید زمانبندی استنتاج.

بعد از 5 دقیقه، S3 را بررسی کنید /output مسیر برای تایید فایل های پیش بینی ایجاد شده است. برای اطلاعات بیشتر در مورد نتایج به ادامه مطلب مراجعه کنید بررسی نتایج استنتاج.

در نهایت، یک تابع Lambda دوم ایجاد می‌کنید که هنگام پیش‌بینی ناهنجاری، اعلان را با استفاده از Amazon SNS راه‌اندازی می‌کند.

  1. در کنسول آمازون SNS، را انتخاب کنید موضوع ایجاد کنید.
  2. برای نام، وارد emailnoti.
  3. را انتخاب کنید ساختن.
  4. در جزئیات بخش، برای نوع، انتخاب کنید استاندارد.
  5. را انتخاب کنید موضوع ایجاد کنید.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  6. بر اشتراک ها برگه، ایجاد اشتراک با نوع ایمیل as پروتکل و یک آدرس ایمیل نقطه پایانی که می توانید به آن دسترسی داشته باشید.
  7. را انتخاب کنید ایجاد اشتراک و پس از رسیدن ایمیل، اشتراک را تایید کنید.
  8. بر موضوع برگه، ARN را کپی کنید.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  9. یک تابع Lambda دیگر با کد زیر ایجاد کنید و موضوع 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. را انتخاب کنید گسترش برای استقرار تابع

وقتی Lookout for Equipment یک ناهنجاری را تشخیص می دهد، مقدار پیش بینی در نتایج 1 است. کد Lambda از فایل JSONL استفاده می کند و یک اعلان ایمیل به آدرس پیکربندی شده ارسال می کند.

  1. تحت پیکر بندی، انتخاب کنید ویرایش و نام نقش.
  2. را انتخاب کنید خط مشی ها را ضمیمه کنید و اضافه کنید AmazonS3FullAccess و AmazonSNSFullAccess به نقش
  3. در نهایت یک تریگر S3 به تابع اضافه کنید و آن را مشخص کنید /output سطل

از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.

پس از چند دقیقه، مشاهده خواهید کرد که هر 5 دقیقه یک بار ایمیل می رسد.

نتایج استنتاج را تجسم کنید

بعد از اینکه Amazon S3 نتایج پیش‌بینی را ذخیره کرد، می‌توانیم از کاتالوگ داده چسب AWS با Athena و QuickSight برای ایجاد داشبوردهای گزارش استفاده کنیم.

  1. در کنسول AWS Glue، را انتخاب کنید خزنده ها در صفحه ناوبری
  2. را انتخاب کنید خزنده ایجاد کنید.
  3. به خزنده یک نام بدهید، مانند inference_crawler.
  4. را انتخاب کنید یک منبع داده اضافه کنید و مسیر سطل S3 را با results.jsonl فایل های.
  5. انتخاب کنید خزیدن همه پوشه های فرعی.
  6. را انتخاب کنید یک منبع داده S3 اضافه کنید.
  7. را انتخاب کنید نقش IAM جدید ایجاد کنید.
  8. ایجاد یک پایگاه داده و ارائه یک نام (به عنوان مثال، anycompanyinferenceresult).
  9. برای برنامه خزنده، انتخاب کنید بر اساس تقاضا.
  10. را انتخاب کنید بعدی، پس از آن را انتخاب کنید خزنده ایجاد کنید.
  11. وقتی خزنده کامل شد، انتخاب کنید خزنده را اجرا کنید.

از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.

  1. در کنسول Athena، ویرایشگر پرس و جو را باز کنید.
  2. را انتخاب کنید ویرایش تنظیمات برای تنظیم یک مکان نتیجه پرس و جو در آمازون S3.
  3. اگر سطل ایجاد نکرده‌اید، اکنون از طریق کنسول آمازون S3 آن را ایجاد کنید.
  4. به کنسول آتنا برگردید، سطل را انتخاب کنید و انتخاب کنید ذخیره.
  5. بازگشت به ویرایشگر در ویرایشگر پرس و جو برگه کنید و یک پرس و جو را اجرا کنید select * از /output پوشه S3.
  6. نتایج را بررسی کنید که تشخیص ناهنجاری را همانطور که انتظار می رود نشان می دهد.

از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.

  1. برای تجسم نتایج پیش‌بینی، به کنسول QuickSight بروید.
  2. را انتخاب کنید تجزیه و تحلیل جدید و مجموعه داده جدید.
  3. برای منبع مجموعه داده، انتخاب کنید الههء عقل و زیبایی.
  4. برای نام منبع داده، وارد MyDataset.
  5. را انتخاب کنید ایجاد منبع داده.
  6. جدولی را که ایجاد کردید انتخاب کنید، سپس انتخاب کنید از SQL سفارشی استفاده کنید.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  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. مشخص کردن پیش گویی و ScoreValue برای ارزش‌ها.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.
  12. را انتخاب کنید ویژوال را اضافه کنید برای اضافه کردن یک شی بصری
  13. را انتخاب کنید نمودار میله ای عمودی.
  14. مشخص کردن TIMESTAMP برای محور X, ScoreValue برای ارزشو سنسور برای گروه/رنگ.
  15. تغییر دادن ScoreValue به جمع: متوسط.
    از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.

پاک کردن

عدم حذف منابع می تواند هزینه های اضافی را در پی داشته باشد. برای پاکسازی منابع خود، مراحل زیر را انجام دهید:

  1. در کنسول QuickSight، را انتخاب کنید اخیر در صفحه ناوبری
  2. تمام منابعی را که به عنوان بخشی از این پست ایجاد کرده اید حذف کنید.
  3. حرکت به مجموعه داده ها صفحه و مجموعه داده هایی که ایجاد کرده اید را حذف کنید.
  4. در کنسول Lookout for Equipment، پروژه‌ها، مجموعه داده‌ها، مدل‌ها و برنامه‌های استنتاج مورد استفاده در این پست را حذف کنید.
  5. در کنسول Timestream، پایگاه داده و جداول مرتبط را حذف کنید.
  6. در کنسول Lambda، تریگرهای EventBridge و Amazon S3 را حذف کنید.
  7. سطل های S3، قانون IoT Core و شبیه سازی ها و دستگاه های IoT را حذف کنید.

نتیجه

در این پست، نحوه پیاده‌سازی یادگیری ماشینی را برای نگهداری پیش‌بینی‌کننده با استفاده از داده‌های جریانی بلادرنگ با رویکرد کم‌کد یاد گرفتید. با استفاده از سرویس‌های AWS مدیریت‌شده مانند Timestream، Lookout for Equipment و Lambda، ابزارهای مختلفی را یاد گرفتید که می‌توانند در این فرآیند به شما کمک کنند، بنابراین تیم‌های عملیاتی ارزش را بدون اضافه کردن بار کاری اضافی برای سربار مشاهده می‌کنند. از آنجایی که معماری از فناوری بدون سرور استفاده می‌کند، می‌تواند برای برآورده کردن نیازهای شما، مقیاس آن را کاهش دهد.

برای منابع یادگیری مبتنی بر داده بیشتر، به سایت مراجعه کنید صفحه اصلی وبلاگ AWS.


درباره نویسنده

از یادگیری ماشینی برای شناسایی ناهنجاری‌ها و پیش‌بینی زمان خرابی با Amazon Timestream و Amazon Lookout for Equipment PlatoBlockchain Data Intelligence استفاده کنید. جستجوی عمودی Ai.مت رید یک معمار ارشد راه حل در خودرو و تولید در AWS است. او مشتاق کمک به مشتریان برای حل مشکلات با فناوری جالب است تا زندگی همه را بهتر کند. مت عاشق دوچرخه سواری در کوهستان، اسکی و معاشرت با دوستان، خانواده و سگ ها و گربه ها است.

تمبر زمان:

بیشتر از آموزش ماشین AWS