Zgradite, učite in uvedite modele Amazon Lookout for Equipment z uporabo Python Toolbox PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Zgradite, usposobite in uvedite modele Amazon Lookout for Equipment z orodjem Python Toolbox

Predvideno vzdrževanje je lahko učinkovit način za preprečevanje okvar industrijskih strojev in dragih izpadov s proaktivnim spremljanjem stanja vaše opreme, tako da ste lahko opozorjeni na morebitne anomalije, preden pride do okvar opreme. Namestitev senzorjev in potrebna infrastruktura za podatkovno povezljivost, shranjevanje, analitiko in opozarjanje so temeljni elementi za omogočanje prediktivnih vzdrževalnih rešitev. Vendar tudi po namestitvi ad hoc infrastrukture veliko podjetij uporablja osnovno analitiko podatkov in preproste pristope modeliranja, ki so pogosto neučinkoviti pri dovolj zgodnjem odkrivanju težav, da bi se izognili izpadom. Tudi implementacija rešitve strojnega učenja (ML) za vašo opremo je lahko težka in dolgotrajna.

z Amazon Lookout za opremo, lahko samodejno analizirate podatke senzorjev za vašo industrijsko opremo, da zaznate nenormalno vedenje stroja – brez izkušenj z ML. To pomeni, da lahko hitro in natančno odkrijete nepravilnosti opreme, hitro diagnosticirate težave in ukrepate za zmanjšanje dragih izpadov.

Lookout for Equipment analizira podatke iz vaših senzorjev in sistemov, kot so tlak, pretok, vrtljaji, temperatura in moč, da samodejno usposobi model, ki je specifičen za vašo opremo na podlagi vaših podatkov. Uporablja vaš edinstveni model ML za analizo dohodnih podatkov senzorjev v realnem času in identificira zgodnje opozorilne znake, ki bi lahko vodili do okvar stroja. Za vsako zaznano opozorilo Lookout for Equipment natančno določi, kateri specifični senzorji kažejo na težavo, in obseg vpliva na zaznani dogodek.

Z misijo, da ML damo v roke vsakemu razvijalcu, želimo predstaviti še en dodatek za Lookout for Equipment: odprtokodna orodjarna Python ki razvijalcem in podatkovnim znanstvenikom omogoča, da gradijo, usposabljajo in uvajajo modele Lookout for Equipment, podobno kot ste jih vajeni Amazon SageMaker. Ta knjižnica je ovoj nad programskim vmesnikom Lookout for Equipment boto3 python in je na voljo za začetek vašega potovanja s to storitvijo. Če imate kakršne koli predloge za izboljšave ali napake, ki jih želite prijaviti, prijavite težavo v orodni vrstici GitHub repozitorij.

V tej objavi ponujamo vodnik po korakih za uporabo odprtokodnega orodja Python Lookout for Equipment iz prenosnika SageMaker.

Nastavitev okolja

Če želite uporabljati odprtokodno orodje Lookout for Equipment iz prenosnika SageMaker, moramo prenosniku SageMaker podeliti potrebna dovoljenja za klic API-jev Lookout for Equipment. Za to objavo predvidevamo, da ste že ustvarili primerek beležnice SageMaker. Za navodila glejte Začnite uporabljati primerke prenosnika Amazon SageMaker. Primerek zvezka je samodejno povezan z izvršilno vlogo.

  1. Če želite poiskati vlogo, ki je priložena primerku, izberite primerek na konzoli SageMaker.
    Zgradite, učite in uvedite modele Amazon Lookout for Equipment z uporabo Python Toolbox PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.
  2. Na naslednjem zaslonu se pomaknite navzdol, da poiščete AWS upravljanje identitete in dostopa (IAM), ki je priložena instanci v Dovoljenja in šifriranje oddelek.
  3. Izberite vlogo, da odprete konzolo IAM.
    Zgradite, učite in uvedite modele Amazon Lookout for Equipment z uporabo Python Toolbox PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Nato naši vlogi SageMaker IAM priložimo vgrajen pravilnik.

  1. o Dovoljenja zavihek vloge, ki ste jo odprli, izberite Dodajte vrstni red.
    Zgradite, učite in uvedite modele Amazon Lookout for Equipment z uporabo Python Toolbox PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.
  2. o JSON vnesite naslednjo kodo. Uporabljamo akcijo z nadomestnimi znaki (lookoutequipment:*) za storitev za demo namene. Za dejanske primere uporabe zagotovite samo potrebna dovoljenja za izvajanje ustreznih klicev API-ja SDK.
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lookoutequipment:*" ], "Resource": "*" } ] }

  3. Izberite Pregledajte politiko.
  4. Podajte ime za pravilnik in ga ustvarite.

Poleg predhodnega vgrajenega pravilnika moramo za isto vlogo IAM vzpostaviti zaupniško razmerje, da omogočimo Lookout for Equipment prevzeti to vlogo. Vloga SageMaker že ima ustrezen dostop do podatkov Preprosta storitev shranjevanja Amazon (Amazon S3); Če programu Lookout for Equipment dovolite, da prevzame to vlogo, zagotovite, da ima enak dostop do podatkov kot vaš prenosni računalnik. V svojem okolju morda že imate določeno vlogo, ki zagotavlja, da ima Lookout for Equipment dostop do vaših podatkov; v tem primeru vam ni treba prilagajati razmerja zaupanja te skupne vloge.

  1. Znotraj naše vloge SageMaker IAM na Zaupne odnose izberite jeziček Uredi zaupno razmerje.
  2. Pod dokumentom pravilnika zamenjajte celoten pravilnik z naslednjo kodo:
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

  3. Izberite Posodobite pravilnik o zaupanju.

Zdaj smo pripravljeni za uporabo orodja Lookout for Equipment v našem prenosnem okolju SageMaker. Orodjarna Lookout for Equipment je odprtokodni paket Python, ki podatkovnim znanstvenikom in razvijalcem programske opreme omogoča enostavno izdelavo in uvajanje modelov za zaznavanje anomalij časovnih vrst z uporabo Lookout for Equipment. Poglejmo, kaj lahko lažje dosežete z orodjem!

Odvisnosti

V času pisanja tega članka potrebuje orodjarna nameščeno naslednje:

Ko zadovoljite te odvisnosti, lahko namestite in zaženete orodje Lookout for Equipment z naslednjim ukazom iz terminala Jupyter:

pip install lookoutequipment

Škatla z orodjem je zdaj pripravljena za uporabo. V tej objavi prikazujemo, kako uporabljati orodje z usposabljanjem in uvajanjem modela za odkrivanje nepravilnosti. Tipičen življenjski cikel razvoja ML je sestavljen iz gradnje nabora podatkov za usposabljanje, usposabljanja modela, uvajanja modela in izvajanja sklepanja na modelu. Orodjarna je precej obsežna glede funkcionalnosti, ki jih ponuja, vendar se v tej objavi osredotočamo na naslednje zmožnosti:

  • Pripravite nabor podatkov
  • Usposobite model za odkrivanje nepravilnosti z uporabo programa Lookout for Equipment
  • Ustvarite vizualizacije za vrednotenje vašega modela
  • Konfigurirajte in zaženite razporejevalnik sklepanja
  • Vizualizirajte rezultate sklepanja planerja

Razumejmo, kako lahko uporabimo orodje za vsako od teh zmožnosti.

Pripravite nabor podatkov

Lookout for Equipment zahteva, da se ustvari in zaužije nabor podatkov. Za pripravo nabora podatkov izvedite naslednje korake:

  1. Preden ustvarimo nabor podatkov, moramo naložiti vzorčni nabor podatkov in ga naložiti v Preprosta storitev shranjevanja Amazon (Amazon S3) vedro. V tej objavi uporabljamo expander nabor podatkov:
    from lookoutequipment import dataset data = dataset.load_dataset(dataset_name='expander', target_dir='expander-data')
    dataset.upload_dataset('expander-data', bucket, prefix)

Vrnilo se je data objekt predstavlja slovar, ki vsebuje naslednje:

    • Podatkovni okvir za usposabljanje
    • Oznake DataFrame
    • Datumi začetka in konca usposabljanja
    • Začetni in končni datum ocenjevanja
    • Opis oznak DataFrame

Podatki o usposabljanju in oznakah se naložijo iz ciljnega imenika v Amazon S3 na lokaciji vedra/predpone.

  1. Po nalaganju nabora podatkov v S3 ustvarimo predmet LookoutEquipmentDataset razred, ki upravlja nabor podatkov:
    lookout_dataset = dataset.LookoutEquipmentDataset( dataset_name='my_dataset', access_role_arn=role_arn, component_root_dir=f's3://{bucket}/{prefix}training-data'
    ) # creates the dataset
    lookout_dataset.create()

O access_role_arn mora imeti dostop do vedra S3, kjer so prisotni podatki. ARN vloge primerka prenosnika SageMaker lahko pridobite iz prejšnjega Nastavitev okolja in dodajte pravilnik IAM za odobritev dostopa do vašega vedra S3. Za več informacij glejte Pisanje pravilnikov IAM: Kako odobriti dostop do vedra Amazon S3.

O component_root_dir parameter mora navesti lokacijo v Amazon S3, kjer so shranjeni podatki o usposabljanju.

Ko zaženemo prejšnje API-je, je bil naš nabor podatkov ustvarjen.

  1. Vnesite podatke v nabor podatkov:
    response = lookout_dataset.ingest_data(bucket, prefix + 'training-data/')

Zdaj, ko so vaši podatki na voljo na Amazon S3, je ustvarjanje nabora podatkov in vnos podatkov vanj le stvar treh vrstic kode. Dolge sheme JSON vam ni treba sestaviti ročno; orodjarna zazna strukturo vaše datoteke in jo sestavi namesto vas. Ko so vaši podatki zaužiti, je čas, da se premaknete na usposabljanje!

Usposobite model za odkrivanje nepravilnosti

Ko so podatki vneseni v nabor podatkov, lahko začnemo postopek usposabljanja modela. Oglejte si naslednjo kodo:

from lookoutequipment import model lookout_model = model.LookoutEquipmentModel(model_name='my_model', dataset_name='my_dataset') lookout_model.set_time_periods(data['evaluation_start'],data['evaluation_end'],data['training_start'],data['training_end'])
lookout_model.set_label_data(bucket=bucket,prefix=prefix + 'label-data/',access_role_arn=role_arn)
lookout_model.set_target_sampling_rate(sampling_rate='PT5M') #trigger training job
response = lookout_model.train() #poll every 5 minutes to check the status of the training job
lookout_model.poll_model_training(sleep_time=300)

Preden začnemo z usposabljanjem, moramo v naboru podatkov določiti obdobja usposabljanja in ocenjevanja. Nastavili smo tudi lokacijo v Amazon S3, kjer so shranjeni označeni podatki, in nastavili hitrost vzorčenja na 5 minut. Ko začnemo z usposabljanjem, se poll_model_training vsakih 5 minut preverja status delovnega mesta za usposabljanje, dokler usposabljanje ni uspešno.

Modul za usposabljanje orodjarne Lookout for Equipment vam omogoča, da usposobite model z manj kot 10 vrsticami kode. V vašem imenu zgradi vse nize zahtev za ustvarjanje dolžine, ki jih potrebuje nizkonivojski API, in vam tako odstrani potrebo po izdelavi dolgih, k napakam nagnjenih dokumentov JSON.

Ko je model usposobljen, lahko preverimo rezultate v ocenjevalnem obdobju ali konfiguriramo razporejevalnik sklepanja s pomočjo orodjarne.

Ocenite usposobljeni model

Ko je model usposobljen, se DescribeModel API podjetja Lookout for Equipment beleži meritve, povezane z usposabljanjem. Ta API vrne dokument JSON z dvema zanimivima poljema za izris rezultatov vrednotenja: labeled_ranges in predicted_ranges, ki vsebujejo znane in predvidene anomalije v območju vrednotenja oz. Orodjarna namesto tega ponuja pripomočke za nalaganje teh v Pandas DataFrame:

from lookoutequipment import evaluation LookoutDiagnostics = evaluation.LookoutEquipmentAnalysis(model_name='my_model', tags_df=data['data']) predicted_ranges = LookoutDiagnostics.get_predictions()
labels_fname = os.path.join('expander-data', 'labels.csv')
labeled_range = LookoutDiagnostics.get_labels(labels_fname)

Prednost nalaganja obsegov v DataFrame je, da lahko ustvarimo lepe vizualizacije z izrisom enega od prvotnih signalov časovne vrste in dodamo prekrivanje označenih in predvidenih nenormalnih dogodkov z uporabo TimeSeriesVisualization razred orodjarne:

from lookoutequipment import plot TSViz = plot.TimeSeriesVisualization(timeseries_df=data['data'], data_format='tabular')
TSViz.add_signal(['signal-001'])
TSViz.add_labels(labeled_range)
TSViz.add_predictions([predicted_ranges])
TSViz.add_train_test_split(data['evaluation_start'])
TSViz.add_rolling_average(60*24)
TSViz.legend_format = {'loc': 'upper left', 'framealpha': 0.4, 'ncol': 3}
fig, axis = TSViz.plot()

Teh nekaj vrstic kode ustvari risbo z naslednjimi funkcijami:

  • Izris črte za izbrani signal; del, ki se uporablja za usposabljanje modela, je v modri barvi, medtem ko je ocenjevalni del v sivi barvi
  • Drseče povprečje je prikazano kot tanka rdeča črta, ki prekriva časovno vrsto
  • Oznake so prikazane v zelenem traku z oznako »Znane anomalije« (privzeto)
  • Predvideni dogodki so prikazani v rdečem traku z oznako »Zaznani dogodki«.

Zgradite, učite in uvedite modele Amazon Lookout for Equipment z uporabo Python Toolbox PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Orodjarna opravi vse težke naloge lociranja, nalaganja in razčlenjevanja datotek JSON, hkrati pa zagotavlja vizualizacije, pripravljene za uporabo, ki dodatno skrajšajo čas za pridobivanje vpogledov iz vaših modelov zaznavanja nepravilnosti. Na tej stopnji vam orodje omogoča, da se osredotočite na razlago rezultatov in ukrepanje za zagotavljanje neposredne poslovne vrednosti vašim končnim uporabnikom. Poleg teh vizualizacij časovnih vrst ponuja SDK še druge diagrame, kot je histogramska primerjava vrednosti vaših signalov med običajnimi in neobičajnimi časi. Če želite izvedeti več o drugih zmožnostih vizualizacije, ki jih lahko uporabite takoj po izdelavi, glejte Poiščite dokumentacijo orodjarne opreme.

Sklepanje urnika

Poglejmo, kako lahko načrtujemo sklepanje s pomočjo orodjarne:

from lookout import scheduler #prepare dummy inference data
dataset.prepare_inference_data( root_dir='expander-data', sample_data_dict=data, bucket=bucket, prefix=prefix
) #setup the scheduler
lookout_scheduler = scheduler.LookoutEquipmentScheduler(scheduler_name='my_scheduler',model_name='my_model')
scheduler_params = { 'input_bucket': bucket, 'input_prefix': prefix + 'inference-data/input/', 'output_bucket': bucket, 'output_prefix': prefix + 'inference-data/output/', 'role_arn': role_arn, 'upload_frequency': 'PT5M', 'delay_offset': None, 'timezone_offset': '+00:00', 'component_delimiter': '_', 'timestamp_format': 'yyyyMMddHHmmss' } lookout_scheduler.set_parameters(**scheduler_params)
response = lookout_scheduler.create()

Ta koda ustvari razporejevalnik, ki obdela eno datoteko vsakih 5 minut (v skladu s frekvenco nalaganja, nastavljeno pri konfiguraciji razporejevalnika). Po približno 15 minutah bi morali imeti na voljo nekaj rezultatov. Če želite dobiti te rezultate iz razporejevalnika v Pandas DataFrame, moramo samo zagnati naslednji ukaz:

results_df = lookout_scheduler.get_predictions()

Od tu lahko tudi narišemo pomembnost funkcije za napoved z uporabo vizualizacijskih API-jev orodjarne:

event_details = pd.DataFrame(results_df.iloc[0, 1:]).reset_index()
fig, ax = plot.plot_event_barh(event_details)

Na vzorčnih podatkih ustvari naslednjo vizualizacijo pomembnosti lastnosti.

Zgradite, učite in uvedite modele Amazon Lookout for Equipment z uporabo Python Toolbox PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Orodjarna ponuja tudi API za zaustavitev razporejevalnika. Oglejte si naslednji delček kode:

scheduler.stop()

Čiščenje

Če želite izbrisati vse predhodno ustvarjene artefakte, lahko pokličemo delete_dataset API z imenom našega nabora podatkov:

dataset.delete_dataset(dataset_name='my_dataset', delete_children=True, verbose=True)

zaključek

Ko se pogovarjamo z industrijskimi in proizvodnimi strankami, je pogost izziv, ki ga slišimo v zvezi z izkoriščanjem prednosti umetne inteligence in strojnega učenja, velika količina prilagajanja ter specifičnega razvoja in znanstvenega dela, ki je potrebno za pridobitev zanesljivih in praktičnih rezultatov. Usposabljanje modelov za odkrivanje nepravilnosti in pridobivanje učinkovitega vnaprejšnjega opozorila za veliko različnih industrijskih strojev je predpogoj za zmanjšanje truda pri vzdrževanju, zmanjšanje predelave ali odpadkov, povečanje kakovosti izdelkov in izboljšanje splošne učinkovitosti opreme (OEE) ali proizvodnih linij. Do zdaj je to zahtevalo ogromno specifičnega razvojnega dela, ki ga je težko povečati in vzdrževati skozi čas.

Storitve umetne inteligence Amazon Applied, kot je Lookout for Equipment, proizvajalcem omogočajo izdelavo modelov umetne inteligence, ne da bi imeli dostop do vsestranske ekipe podatkovnih znanstvenikov, podatkovnih inženirjev in procesnih inženirjev. Zdaj lahko z orodjem Lookout for Equipment vaši razvijalci dodatno skrajšajo čas, potreben za raziskovanje vpogledov v vaše podatke o časovni vrsti in ukrepanje. Ta komplet orodij ponuja razvijalcem prijazen vmesnik, ki je enostaven za uporabo in omogoča hitro izdelavo modelov za odkrivanje nepravilnosti z uporabo programa Lookout for Equipment. Orodjarna je odprtokodna in vso kodo SDK lahko najdete na amazon-lookout-for-equipment-python-sdk GitHub repo. Na voljo je tudi kot PyPi paket.

Ta objava pokriva le nekaj najpomembnejših API-jev. Zainteresirani bralci si lahko ogledajo dokumentacijo orodjarne da si ogledate naprednejše zmogljivosti orodjarne. Poskusite in nam v komentarjih sporočite, kaj mislite!


O avtorjih

Zgradite, učite in uvedite modele Amazon Lookout for Equipment z uporabo Python Toolbox PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Vikesh Pandey je strokovnjak za strojno učenje Specialist Solutions Architect pri AWS, ki strankam v Združenem kraljestvu in širši regiji EMEA pomaga oblikovati in zgraditi rešitve ML. Zunaj službe Vikesh rad preizkuša različne kuhinje in se ukvarja s športi na prostem.

Zgradite, učite in uvedite modele Amazon Lookout for Equipment z uporabo Python Toolbox PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Ioan Catana je strokovnjak za rešitve za umetno inteligenco in strojno učenje pri AWS. Strankam pomaga razviti in razširiti njihove rešitve ML v oblaku AWS. Ioan ima več kot 20 let izkušenj, večinoma na področju načrtovanja programske arhitekture in inženiringa v oblaku.

Zgradite, učite in uvedite modele Amazon Lookout for Equipment z uporabo Python Toolbox PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Michael Hoarau je specialist za rešitve AI/ML pri AWS, ki se spreminja med podatkovnim znanstvenikom in arhitektom strojnega učenja, odvisno od trenutka. Navdušen je nad prenosom moči AI/ML v delavnice svojih industrijskih strank in delal je na številnih primerih uporabe ML, od odkrivanja nepravilnosti do predvidevanja kakovosti izdelkov ali optimizacije proizvodnje. Ko strankam ne pomaga razviti naslednje najboljše izkušnje strojnega učenja, uživa v opazovanju zvezd, potovanjih ali igranju klavirja.

Časovni žig:

Več od Strojno učenje AWS