Kvaliteetsete, koolitatud masinõppe (ML) mudelite juurutamine kas pakett- või reaalajas järelduste tegemiseks on klientidele väärtuse loomisel kriitilise tähtsusega. ML-i katsetamise protsess võib aga olla tüütu – on palju lähenemisviise, mille rakendamiseks on vaja palju aega. Seetõttu on eelkoolitatud ML-mudelid, nagu need, mis on esitatud dokumendis PyTorchi mudeliloomaaed on nii abivalmid. Amazon SageMaker pakub ühtset liidest erinevate ML-mudelitega katsetamiseks ja PyTorchi mudeliloomaaed võimaldab meil mudeleid lihtsalt standardsel viisil vahetada.
See ajaveebi postitus näitab, kuidas teha ML-i järeldusi, kasutades SageMakeris PyTorch Model Zoo objektide tuvastamise mudelit. PyTorch Model Zoo eelkoolitatud ML-mudelid on valmis ja neid saab hõlpsasti kasutada ML-rakenduste osana. Nende ML-mudelite seadistamine SageMakeri lõpp-punktina või SageMakeri partii teisendus Internetis või võrguühenduseta järelduste tegemine on selles ajaveebi postituses kirjeldatud sammude abil lihtne. Me kasutame a Kiirem R-CNN objektituvastusmudel eelmääratletud objektiklasside piirdekastide ennustamiseks.
Läbime täieliku näite, alates Faster R-CNN objekti tuvastamise mudeli kaalude laadimisest kuni nende salvestamiseni Amazon Simple Storage Service (Amazon S3) ämber ja sisenemispunkti faili kirjutamine ja PyTorchModel API põhiparameetrite mõistmine. Lõpuks juurutame ML-mudeli, teeme selle kohta järeldused, kasutades SageMaker Batch Transformi, kontrollime ML-mudeli väljundit ja õpime tulemusi tõlgendama. Seda lahendust saab rakendada kõikidele teistele PyTorch Model Zoo eelkoolitatud mudelitele. Saadaolevate mudelite loendi leiate veebisaidilt PyTorch Model Zoo dokumentatsioon.
Lahenduse ülevaade
See ajaveebi postitus läbib järgmised sammud. Kõigi etappide täieliku tööversiooni vaatamiseks vaadake create_pytorch_model_sagemaker.ipynb
- Samm: seadistamine
- 2. samm: ML-mudeli laadimine PyTorch Model Zoo'st
- 3. samm Salvestage ja laadige ML-mudeli artefaktid Amazon S3-sse
- 4. samm: looge ML-mudeli järeldusskriptid
- 5. samm: SageMakeri partii teisendustöö käivitamine
- 6. samm: tulemuste visualiseerimine
Arhitektuuriskeem
Kataloogi struktuur
Selle ajaveebi koodi leiate siit GitHubi hoidla. Koodibaas sisaldab kõike, mida vajame ML-mudeli artefaktide loomiseks, teisendustöö käivitamiseks ja tulemuste visualiseerimiseks.
See on töövoog, mida me kasutame. Kõik järgmised sammud viitavad selle struktuuri moodulitele.
. sagemaker_torch_model_zoo
kaust peaks sisaldama inference.py
sisenemispunktifailina ja create_pytorch_model_sagemaker.ipynb, et laadida ja salvestada mudeli kaalud, luua SageMakeri mudeliobjekt ja edastada see lõpuks SageMakeri pakkteisendustööle. Oma ML-mudelite toomiseks muutke märkmiku jaotises Samm 1: seadistamise teed ja laadige uus mudel jaotises 2. samm: ML-mudeli laadimine PyTorchi mudeli loomaaiast. Ülejäänud alltoodud sammud jäävad samaks.
Samm: seadistamine
IAM-i rollid
SageMaker teostab toiminguid infrastruktuuriga, mida haldab SageMaker. SageMaker saab teha ainult neid toiminguid, mis on lubatud märkmikuga kaasnevas SageMakeri IAM-i täitmisrollis. Üksikasjalikumat dokumentatsiooni IAM-rollide loomise ja IAM-õiguste haldamise kohta leiate jaotisest AWS SageMaker rollide dokumentatsioon. Võime luua uue rolli või saada selle SageMaker (Stuudio) märkmikvaikimisi täitmisrolli, käivitades järgmised koodiread:
Ülaltoodud kood saab sülearvuti eksemplari SageMakeri täitmisrolli. See on IAM-i roll, mille lõime oma SageMakeri või SageMaker Studio sülearvuti eksemplari jaoks.
Kasutaja seadistatavad parameetrid
Siin on kõik konfigureeritavad parameetrid, mis on vajalikud meie SageMakeri partii teisendustöö koostamiseks ja käivitamiseks:
2. samm: ML-mudeli laadimine PyTorchi mudeliloomaaiast
Järgmisena määrame PyTorch Model Zoo objektide tuvastamise mudeli ja salvestame selle ML-mudeli kaalud. Tavaliselt salvestame PyTorchi mudeli faililaienditega .pt või .pth. Allolev koodilõik laadib PyTorchi mudeliloomaaiast alla eelkoolitatud Faster R-CNN ResNet50 ML mudeli:
model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True)
SageMakeri partii teisendus nõuab sisendiks mõningaid mudeli kaalusid, seega salvestame eelkoolitatud ML-mudeli kui model.pt. Kui tahame laadida kohandatud mudelit, võiksime mõne teise PyTorchi mudeli mudeli kaalud selle asemel model.pt-na salvestada.
3. samm: salvestage ja laadige ML-mudeli artefaktid Amazon S3-sse
Kuna me kasutame ML-i järelduste tegemiseks SageMakerit, peame mudeli kaalud üles laadima S3 ämbrisse. Seda saame teha järgmiste käskude abil või faili alla laadides ja lihtsalt S3-sse pukseerides. Järgmised käsud tihendavad kõigepealt failide rühma model.pt
tarballi ja kopeerige mudeli kaalud meie kohalikust masinast S3 ämbrisse.
märkused: järgmiste käskude käivitamiseks peab teil olema AWS-i käsurealiides (AWS-i CLI) paigaldatud.
Järgmisena kopeerime oma sisendpildi S3-sse. Allpool on pildi täielik S3 tee.
Saame selle pildi kopeerida S3-sse teise aws s3 cp käsuga.
4. samm: looge ML-mudeli järeldusskriptid
Nüüd vaatame üle oma sisenemispunkti faili, inference.py
moodul. Saame juurutada PyTorch mudeli, mis on koolitatud väljaspool SageMakerit, kasutades PyTorchModel klassi. Esiteks instantseerime PyTorchModelZoo objekti. Seejärel koostame sisestuspunkti faili inference.py, et teha ML-i järeldusi, kasutades Amazon S3-s hostitud näidisandmetel SageMakeri partii teisendust.
PyTorchModeli objekti mõistmine
. PyTorchModel klass SageMaker Python API-s võimaldab meil teha ML-i järeldusi, kasutades meie allalaaditud mudeliartefakti.
PyTorchModel klassi käivitamiseks peame mõistma järgmisi sisendparameetreid:
name
: Mudeli nimi; ainulaadsuse huvides soovitame kasutada kas mudeli nime + kuupäeva kellaaega või juhuslikku stringi + kuupäeva kellaaeg.model_data
: pakitud ML-mudeli artefakti S3 URI.entry_point
: kasutaja määratud Pythoni fail, mida järeldus Dockeri kujutis kasutab sissetulevate päringute töötlejate määratlemiseks. Kood määratleb mudeli laadimise, sisendi eeltöötluse, ennustusloogika ja väljundi järeltöötluse.framework_version
: PyTorchi mudeli automaatse ümberpakendamise lubamiseks peab olema seadistatud versioon 1.2 või uuem.source_dir
: sisestuspunkti faili kataloog.role
: IAM-i roll AWS-i teenusepäringute tegemiseks.image_uri
: kasutage seda Amazon ECR Dockeri konteineri pilti ML-mudeli arvutuskeskkonna alusena.sagemaker_session
: SageMakeri seanss.py_version
: kasutatav Pythoni versioon
Järgmine koodilõik loob PyTorchModel klassi, et teha järeldusi, kasutades eelkoolitatud PyTorchi mudelit:
Sisendpunkti faili (inference.py) mõistmine
Parameeter enter_point osutab Pythoni failile nimega inference.py
. See sisestuspunkt määratleb mudeli laadimise, sisendi eeltöötluse, ennustusloogika ja väljundi järeltöötluse. See täiendab ML-mudeli teeninduskoodi eelehitatud PyTorchis SageMakeri süvaõppe konteiner pilt.
Inference.py
sisaldab järgmisi funktsioone. Meie näites rakendame model_fn
, input_fn
, predict_fn
ja output_fn
funktsioonid alistada Vaikimisi PyTorchi järelduste töötleja.
model_fn
: võtab kataloogi, mis sisaldab järelduskujutises staatilisi mudeli kontrollpunkte. Avab ja laadib mudeli määratud teelt ning tagastab PyTorchi mudeli.input_fn
: võtab sisendiks sissetuleva päringu kasuliku koormuse (request_body) ja sissetuleva päringu sisutüübi (päringu_sisu tüüp). Tegeleb andmete dekodeerimisega. Seda funktsiooni tuleb kohandada vastavalt sellele, millist sisendit mudel ootab.predict_fn
: kutsub välja mudeli input_fn deserialiseeritud andmetel. Teostab laaditud ML-mudeliga deserialiseeritud objekti ennustuse.output_fn
: seriaaliseerib ennustuse tulemuse soovitud vastuse sisutüübiks. Teisendab funktsioonist expect_fn saadud ennustused JSON-, CSV- või NPY-vormingusse.
5. samm: SageMakeri partii teisendustöö käivitamine
Selle näite puhul saame ML-i järelduste tulemused SageMakeri partii teisendustöö kaudu. Pakettteisendustööd on kõige kasulikumad siis, kui tahame andmehulkadest ühe korra järeldusi saada, ilma et oleks vaja püsivat lõpp-punkti. Me instantseerime a sagemaker.transformer.Transformer objekt SageMakeri partii teisendustööde loomiseks ja nendega suhtlemiseks.
Vaadake dokumentatsiooni partii teisendustöö loomise kohta aadressil LooTransformJob.
6. samm: testitulemuste visualiseerimine
Kui SageMakeri partii teisendustöö on lõppenud, saame laadida ML-i järelduste väljundid Amazon S3-st. Selleks navigeerige lehele AWS-i juhtimiskonsool ja otsige Amazon SageMaker. Vasakul paneelil all JäreldusVt Partei teisendamise tööd.
Pärast valimist Partii teisendus, vaadake veebilehte, kus on loetletud kõik SageMakeri pakkteisendustööd. Saame vaadata oma viimase töö edenemist.
Esiteks on töö olek „Inprogress”. Kui see on tehtud, vaadake oleku muutmist olekuks Lõpetatud.
Kui olek on märgitud lõpetatuks, saame tulemuste vaatamiseks klõpsata tööl. See veebileht sisaldab töö kokkuvõtet, sealhulgas just teostatud töö konfiguratsioone.
alla Väljundandmete konfiguratsioon, näeme S3 väljundteed. Siit leiame oma ML-i järelduse väljundi.
Valige S3 väljundtee ja vaadake meie väljundandmetega faili [image_name].[file_type].out. Meie väljundfail sisaldab vastenduste loendit. Näidisväljund:
Järgmisena töötleme seda väljundfaili ja visualiseerime oma ennustused. Allpool täpsustame oma usaldusläve. Klasside nimekirja saame aadressilt COCO andmestiku objektide kaardistamine. Järeldamise ajal nõuab mudel ainult sisendtensoreid ja tagastab järeltöödeldud ennustused loendina [Dikt[tensor]], üks iga sisendpildi jaoks. Dicti väljad on järgmised, kus N on tuvastamiste arv:
- kastid (FloatTensor[N, 4]): prognoositud kastid
[x1, y1, x2, y2]
formaadis, koos0 <= x1 < x2 <= W and 0 <= y1 < y2 <= H
, KusW
on pildi laius jaH
on pildi kõrgus - sildid (
Int64Tensor[N]
): iga tuvastamise ennustatud sildid - hinded (
Tensor[N]
): iga tuvastamise ennustusskoorid
Väljundi kohta lisateabe saamiseks vaadake PyTorchi kiirem R-CNN FPN dokumentatsioon.
Mudeli väljund sisaldab vastavate usaldusskooridega piirdekaste. Saame optimeerida valepositiivsete kuvamist, eemaldades piirdekastid, mille puhul mudel pole kindel. Järgmised koodilõigud töötlevad ennustusi väljundfailis ja joonistavad ennustustele piirdekastid, kus skoor on üle meie usaldusläve. Seadsime tõenäosusläve, CONF_THRESH
, kuni 75 selle näite puhul.
Lõpuks visualiseerime need kaardistused, et mõista oma väljundit.
märkused: kui pilti teie märkmikus ei kuvata, leidke see JupyterLabi vasakus servas olevast kataloogipuust ja avage see sealt.
Näidiskoodi käivitamine
Täieliku töönäite saamiseks kloonige kood faili amazon-sagemaker-examples GitHub ja käivitage rakud create_pytorch_model_sagemaker.ipynb
märkmik.
Järeldus
Selles ajaveebi postituses tutvustasime täielikku näidet ML-i järelduste tegemisest PyTorch Model Zoo objektituvastusmudeli abil, kasutades SageMakeri partii teisendust. Käsitlesime Faster R-CNN objektide tuvastamise mudeli kaalude laadimist, nende salvestamist S3 ämbrisse, sisestuspunkti faili kirjutamist ja PyTorchModel API põhiparameetrite mõistmist. Lõpuks juurutasime mudeli ja tegime ML-mudeli järelduse, visualiseerisime mudeli väljundit ja õppisime tulemusi tõlgendama.
Autoritest
Dipika Khullar on ML-i insener Amazon ML Solutions Lab. Ta aitab klientidel integreerida ML-lahendusi nende äriprobleemide lahendamiseks. Viimasel ajal on ta loonud meediaklientidele koolitus- ja järeldustorusid ning turunduse ennustavaid mudeleid.
Marcelo Aberle on AWS AI organisatsioonis ML insener. Ta juhib MLOpsi jõupingutusi Amazon ML Solutions Lab, aidates klientidel kavandada ja juurutada skaleeritavaid ML-süsteeme. Tema missiooniks on suunata kliente nende ettevõtte ML-teekonnal ja kiirendada nende ML-teed tootmiseni.
Ninad Kulkarni on rakendusteadlane Amazon ML Solutions Lab. Ta aitab klientidel kasutusele võtta ML ja AI, luues lahendusi nende äriprobleemide lahendamiseks. Viimasel ajal on ta loonud ennustavaid mudeleid spordi-, autotööstuse ja meedia klientidele.
Yash Shah on teadusjuht Amazon ML Solutions Lab. Tema ja tema rakendusteadlastest ja ML-i inseneridest koosnev meeskond töötavad mitmesuguste ML-i kasutusjuhtudega tervishoiust, spordist, autotööstusest ja tootmisest.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- Platoblockchain. Web3 metaversiooni intelligentsus. Täiustatud teadmised. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/machine-learning/create-amazon-sagemaker-models-using-the-pytorch-model-zoo/
- 1
- 100
- 214
- 28
- 7
- 9
- a
- üle
- kiirendama
- meetmete
- aadress
- Kohandatud
- vastu võtma
- AI
- Materjal: BPA ja flataatide vaba plastik
- võimaldab
- Amazon
- Amazon SageMaker
- summa
- ja
- Teine
- API
- rakendused
- rakendatud
- lähenemisviisid
- Automaatne
- auto
- saadaval
- AWS
- baas
- alla
- Blogi
- keha
- Kast
- karbid
- tooma
- Toomine
- ehitama
- Ehitus
- ehitatud
- äri
- Kutsub
- auto
- autod
- juhtudel
- Rakke
- muutma
- klass
- klassid
- kood
- Koodbaas
- värv
- Lõpetatud
- Arvutama
- arvuti
- usaldus
- kindel
- ehitama
- Konteiner
- sisaldab
- sisu
- võiks
- kaetud
- looma
- loodud
- loomine
- kriitiline
- tava
- Kliendid
- andmed
- andmekogumid
- kuupäev
- dekodeerimine
- sügav
- sügav õpe
- vaikimisi
- Määratleb
- juurutada
- lähetatud
- Disain
- üksikasjalik
- detailid
- Detection
- DIKT
- erinev
- otse
- Ekraan
- laevalaadija
- dokumentatsioon
- Ei tee
- allalaadimine
- Kukkumine
- iga
- kergesti
- jõupingutusi
- kumbki
- võimaldama
- Lõpuks-lõpuni
- Lõpp-punkt
- insener
- Inseneride
- ettevõte
- kanne
- keskkond
- Eeter (ETH)
- kõik
- näide
- täitmine
- eksperiment
- laiendused
- kiiremini
- Valdkonnad
- fail
- Faile
- täitma
- Lõpuks
- leidma
- esimene
- Järel
- järgneb
- formaat
- avastatud
- Alates
- täis
- funktsioon
- funktsioonid
- saama
- Go
- Grupp
- suunata
- Varred
- tervishoid
- kõrgus
- kasulik
- aidates
- aitab
- kvaliteetne
- rohkem
- võõrustas
- Kuidas
- Kuidas
- aga
- HTML
- HTTPS
- pilt
- pildid
- rakendada
- in
- Kaasa arvatud
- Sissetulev
- indeks
- Infrastruktuur
- algatama
- sisend
- Näiteks
- selle asemel
- integreerima
- suhtlevad
- Interface
- IT
- JIT
- töö
- Tööturg
- teekond
- Json
- Võti
- labor
- silt
- Labels
- algatama
- käivitamine
- juhtivate
- Õppida
- õppinud
- õppimine
- joon
- liinid
- nimekiri
- loetelu
- koormus
- laadimine
- saadetised
- kohalik
- Partii
- masin
- masinõpe
- tegema
- juhitud
- juhtimine
- juht
- juhtiv
- viis
- tootmine
- kaardistus
- Turundus
- Meedia
- missioon
- ML
- MLOps
- mudel
- mudelid
- Moodulid
- rohkem
- kõige
- nimi
- Nimega
- Navigate
- Vajadus
- vajadustele
- Uus
- märkmik
- number
- objekt
- Objekti tuvastamine
- saadud
- offline
- ONE
- Internetis
- avatud
- Avaneb
- Operations
- optimeerima
- et
- organisatsioon
- OS
- Muu
- välja toodud
- väljaspool
- enda
- paneel
- parameeter
- parameetrid
- osa
- tee
- täitma
- esitades
- täidab
- tükk
- Platon
- Platoni andmete intelligentsus
- PlatoData
- palun
- Punkt
- võrra
- post
- ennustada
- ennustada
- ennustus
- Ennustused
- probleeme
- protsess
- Produktsioon
- Edu
- tingimusel
- annab
- Python
- pütorch
- valik
- Lugenud
- reaalajas
- hiljuti
- hiljuti
- soovitama
- piirkond
- jääma
- eemaldades
- taotleda
- Taotlusi
- Vajab
- need
- vastus
- REST
- kaasa
- Tulemused
- tagasipöördumine
- Tulu
- Roll
- rollid
- juur
- jooks
- jooksmine
- salveitegija
- sama
- Säästa
- säästmine
- skaalautuvia
- teadus
- teadlane
- teadlased
- Otsing
- Osa
- valides
- teenus
- teenindavad
- istung
- komplekt
- kehtestamine
- peaks
- märkimisväärne
- lihtne
- lihtsalt
- So
- lahendus
- Lahendused
- LAHENDAGE
- mõned
- määratletud
- Sport
- sport
- olek
- Samm
- Sammud
- ladustamine
- struktuur
- stuudio
- KOKKUVÕTE
- süsteemid
- võtab
- meeskond
- .
- oma
- künnis
- Läbi
- aeg
- et
- tõrvik
- Torchvision
- koolitatud
- koolitus
- Muutma
- tüüpiliselt
- all
- mõistma
- mõistmine
- us
- kasutama
- väärtus
- versioon
- vaade
- W
- M
- mis
- will
- jooksul
- ilma
- Töö
- töö
- oleks
- kirjutamine
- Sinu
- sephyrnet
- ZOO