Conținutul și opiniile din această postare sunt cele ale autorului terț, iar AWS nu este responsabilă pentru conținutul sau acuratețea acestei postări.
Pe măsură ce mai multe organizații folosesc tehnici de învățare profundă, cum ar fi viziunea computerizată și procesarea limbajului natural, persoana de dezvoltator de învățare automată (ML) are nevoie de instrumente scalabile în jurul urmăririi experimentelor, descendenței și colaborării. Urmărirea experimentului include metadate, cum ar fi sistemul de operare, infrastructura utilizată, bibliotecă și seturi de date de intrare și ieșire, deseori urmărite manual pe o foaie de calcul. Linia implică urmărirea seturilor de date, transformărilor și algoritmilor utilizați pentru a crea un model ML. Colaborarea include dezvoltatorii ML care lucrează la un singur proiect și, de asemenea, dezvoltatorii ML care își împărtășesc rezultatele echipelor și părților interesate de afaceri – un proces desfășurat în mod obișnuit prin e-mail, capturi de ecran și prezentări PowerPoint.
În această postare, antrenăm un model pentru a identifica obiectele pentru un caz de utilizare a unui vehicul autonom folosind Weights & Biases (W&B) și Amazon SageMaker. Prezentăm modul în care soluția comună reduce munca manuală pentru dezvoltatorul ML, creează mai multă transparență în procesul de dezvoltare a modelului și permite echipelor să colaboreze la proiecte.
Rulăm acest exemplu Amazon SageMaker Studio pentru ca tu să încerci singur.
Prezentare generală a greutăților și a prejudecăților
Weights & Biases ajută echipele ML să construiască mai rapid modele mai bune. Cu doar câteva linii de cod în notebook-ul tău SageMaker, poți să depanezi, să compari și să reproduci instantaneu modelele tale — arhitectură, hiperparametri, git commit, greutatea modelului, utilizarea GPU, seturi de date și predicții — toate în timp ce colaborezi cu colegii tăi.
W&B are încredere de peste 200,000 de practicieni ML din unele dintre cele mai inovatoare companii și organizații de cercetare din lume. Pentru a-l încerca gratuit, înscrie-te la Greutăți și părtiniri, Sau vizitați Listare W&B AWS Marketplace.
Noțiuni introductive cu SageMaker Studio
SageMaker Studio este primul mediu de dezvoltare complet integrat (IDE) pentru ML. Studio oferă o interfață unică bazată pe web, unde practicienii ML și oamenii de știință de date pot construi, antrena și implementa modele cu câteva clicuri, totul într-un singur loc.
Pentru a începe să utilizați Studio, aveți nevoie de un cont AWS și de un Gestionarea identității și accesului AWS (IAM) utilizator sau rol cu permisiuni pentru a crea un domeniu Studio. A se referi la Integrat la domeniul Amazon SageMaker pentru a crea un domeniu, iar Documentația studioului pentru o prezentare generală a utilizării interfeței vizuale și a notebook-urilor Studio.
Configurați mediul înconjurător
Pentru această postare, suntem interesați să rulăm propriul cod, așa că haideți să importăm câteva notebook-uri din GitHub. Folosim următoarele GitHub repo de exemplu, deci să încărcăm acest caiet.
Puteți clona un depozit fie prin terminal, fie prin interfața de utilizare Studio. Pentru a clona un depozit prin terminal, deschideți un terminal de sistem (pe Fișier meniu, alegeți Nou și Terminal) și introduceți următoarea comandă:
Pentru a clona un depozit din interfața de utilizare Studio, consultați Clonează un depozit Git în SageMaker Studio.
Pentru a începe, alegeți 01_data_processing.ipynb caiet. Vi se solicită un prompt de comutare a nucleului. Acest exemplu folosește PyTorch, astfel încât să putem alege pre-construit PyTorch 1.10 Python 3.8 GPU optimizat imagine pentru a începe caietul nostru. Puteți vedea pornirea aplicației și, când nucleul este gata, arată tipul instanței și nucleul în partea dreaptă sus a notebook-ului.
Notebook-ul nostru are nevoie de câteva dependențe suplimentare. Acest depozit oferă un requirements.txt cu dependențe suplimentare. Rulați prima celulă pentru a instala dependențele necesare:
De asemenea, puteți crea o configurație ciclului de viață pentru a instala automat pachetele de fiecare dată când porniți aplicația PyTorch. Vedea Personalizați Amazon SageMaker Studio folosind Configurații ciclului de viață pentru instrucțiuni și un exemplu de implementare.
Utilizați Weights & Biases în SageMaker Studio
Greutăți și părtiniri (wandb
) este o bibliotecă standard Python. Odată instalat, este la fel de simplu ca să adăugați câteva linii de cod la scriptul de antrenament și sunteți gata să înregistrați experimentele. L-am instalat deja prin intermediul fișierului nostru requirements.txt. De asemenea, îl puteți instala manual cu următorul cod:
Studiu de caz: Segmentarea semantică a vehiculului autonom
Setul de date
Noi folosim Baza de date video cu etichete pentru conducerea Cambridge (CamVid) pentru acest exemplu. Conține o colecție de videoclipuri cu etichete semantice ale clasei de obiecte, completate cu metadate. Baza de date oferă etichete de adevăr de bază care asociază fiecare pixel cu una dintre cele 32 de clase semantice. Putem versiunea setul de date ca a baghetăb.Artefact, astfel îl putem referi mai târziu. Vezi următorul cod:
Puteți urmări de-a lungul în 01_data_processing.ipynb caiet.
Înregistrăm și a tabel a setului de date. Tabelele sunt entități bogate și puternice asemănătoare DataFrame, care vă permit să interogați și să analizați datele tabulare. Vă puteți înțelege seturile de date, puteți vizualiza predicțiile modelului și puteți partaja informații într-un tablou de bord central.
Tabelele Weights & Biases acceptă multe formate rich media, cum ar fi imagine, audio și forme de undă. Pentru o listă completă a formatelor media, consultați Tipuri de date.
Următoarea captură de ecran arată un tabel cu imagini brute cu segmentările adevărului de bază. De asemenea, puteți vizualiza un versiunea interactivă a acestui tabel.
Antrenează un model
Acum putem crea un model și îl putem antrena pe setul nostru de date. Folosim PyTorch și fastai pentru a prototip rapid o linie de bază și apoi a utiliza wandb.Sweeps
pentru a ne optimiza hiperparametrii. Urmăriți în 02_segmentare_semantică.ipynb caiet. Când vi se solicită un nucleu la deschiderea blocnotesului, alegeți același nucleu din primul nostru blocnotes, PyTorch 1.10 Python 3.8 GPU optimizat. Pachetele dvs. sunt deja instalate deoarece utilizați aceeași aplicație.
Modelul ar trebui să învețe o adnotare per pixel a unei scene capturate din punctul de vedere al agentului autonom. Modelul trebuie să clasifice sau să segmenteze fiecare pixel dintr-o anumită scenă în 32 de categorii relevante, cum ar fi drum, pieton, trotuar sau mașini. Puteți alege oricare dintre imaginile segmentate de pe tabel și puteți accesa această interfață interactivă pentru accesarea rezultatelor și categoriilor de segmentare.
Deoarece volumul fastai biblioteca are integrare cu wandb
, poți pur și simplu să treci WandbCallback
către cel care învață:
Pentru experimentele de bază, am decis să folosim o arhitectură simplă inspirată de UNet hârtie cu coloana vertebrală diferită din timm. Ne-am antrenat modelele cu Pierderea focală ca criteriu. Cu Weights & Biases, puteți crea cu ușurință tablouri de bord cu rezumate ale experimentelor dvs. pentru a analiza rapid rezultatele antrenamentului, așa cum se arată în următoarea captură de ecran. Poti de asemenea vizualizați acest tablou de bord în mod interactiv.
Căutare hiperparametrică cu baleiaj
Pentru a îmbunătăți performanța modelului de bază, trebuie să selectăm cel mai bun model și cel mai bun set de hiperparametri de antrenat. W&B ne ajută să folosim acest lucru ăsteia.
Efectuăm a căutarea hiperparametrului bayesian cu scopul de a maximiza acuratețea primului plan a modelului pe setul de date de validare. Pentru a efectua măturarea, definim fișierul de configurare sweep.yaml. În interiorul acestui fișier, trecem metoda dorită de utilizat: bayes și parametrii și valorile lor corespunzătoare de căutat. În cazul nostru, încercăm diferite structuri, dimensiuni ale loturilor și funcții de pierdere. De asemenea, explorăm diferiți parametri de optimizare, cum ar fi rata de învățare și scăderea greutății. Deoarece acestea sunt valori continue, eșantionăm dintr-o distribuție. Sunt multiple opțiunile de configurare disponibile pentru scanări.
Ulterior, într-un terminal, lansați scanarea folosind linia de comandă wandb:
Și apoi lansați un agent de baleiaj pe această mașină cu următorul cod:
Când măturarea s-a terminat, putem folosi un diagramă de coordonate paralele pentru a explora performanțele modelelor cu diferite schele vertebrale și diferite seturi de hiperparametri. Pe baza acestui lucru, putem vedea care model are cele mai bune performanțe.
Următoarea captură de ecran arată rezultatele analizelor, inclusiv o diagramă de coordonate paralele și diagrame de corelare a parametrilor. Poti de asemenea vizualizați acest tablou de bord interactiv.
Din analiză putem obține următoarele informații cheie:
- O rată mai mică de învățare și o scădere mai mică a greutății au ca rezultat o precizie mai bună a prim-planului și scoruri de zaruri.
- Mărimea lotului are corelații pozitive puternice cu valorile.
- Coloane vertebrale bazate pe VGG s-ar putea să nu fie o opțiune bună pentru a ne instrui modelul final, deoarece acestea sunt predispuse să aibă ca rezultat un gradient de dispariție. (Sunt filtrate pe măsură ce pierderea s-a separat.)
- ResNet coloana vertebrală are ca rezultat cea mai bună performanță generală în ceea ce privește valorile.
- Pentru modelul final ar trebui aleasă coloana vertebrală ResNet34 sau ResNet50 datorită performanței lor puternice în ceea ce privește metrica.
Linia de date și model
Artefactele W&B au fost concepute pentru a face fără efort versiunea setului de date și a modelelor, indiferent dacă doriți să stocați fișierele cu W&B sau dacă aveți deja o găleată pe care doriți să o urmărească W&B. După ce vă urmăriți seturile de date sau fișierele model, W&B înregistrează automat fiecare modificare, oferindu-vă un istoric complet și auditabil al modificărilor la fișierele dvs.
În cazul nostru, setul de date, modelele și diferitele tabele generate în timpul antrenamentului sunt înregistrate în spațiul de lucru. Puteți vizualiza și vizualiza rapid această descendență mergând la Artefactele .
Interpretați predicțiile modelului
Weight & Biases este util în special atunci când se evaluează performanța modelului folosind puterea lui wandb.Tabele pentru a vizualiza unde modelul nostru merge prost. În acest caz, ne interesează în mod deosebit detectarea corectă a utilizatorilor vulnerabili, cum ar fi bicicletele și pietonii.
Am înregistrat măștile prezise împreună cu coeficientul de scor Dice pe clasă într-un tabel. Apoi am filtrat pe rânduri care conțin clasele dorite și am sortat în ordine crescătoare pe scorul Dice.
În tabelul următor, filtrăm mai întâi alegând unde scorul Dice este pozitiv (pietonii sunt prezenți în imagine). Apoi sortăm în ordine crescătoare pentru a identifica pietonii noștri cei mai rău detectați. Rețineți că un scor de zaruri egal cu 1 înseamnă segmentarea corectă a clasei de pietoni. Poti de asemenea vizualizați acest tabel în mod interactiv.
Putem repeta această analiză cu alte clase vulnerabile, precum bicicletele sau semafoare.
Această caracteristică este o modalitate foarte bună de a identifica imaginile care nu sunt etichetate corect și de a le eticheta pentru a le re-adnota.
Concluzie
Această postare a prezentat platforma Weights & Biases MLOps, cum să configurați W&B în SageMaker Studio și cum să rulați un notebook introductiv asupra soluției comune. Apoi am parcurs un caz de utilizare pentru segmentarea semantică a vehiculelor autonome și am demonstrat urmărirea cursurilor de antrenament cu experimente W&B, optimizarea hiperparametrilor folosind scanări W&B și interpretarea rezultatelor cu tabelele W&B.
Dacă sunteți interesat să aflați mai multe, puteți accesa live-ul Raport W&B. Pentru a încerca gratuit Weights & Biases, înscrieți-vă la Greutăți și părtiniri, Sau vizitați Listare W&B AWS Marketplace.
Despre Autori
Thomas Capelle este inginer de învățare automată la Weights and Biases. El este responsabil pentru menținerea depozitului www.github.com/wandb/examples activ și actualizat. De asemenea, construiește conținut pe MLOPS, aplicații W&B pentru industrii și învățarea profundă distractivă în general. Anterior, el folosea învățarea profundă pentru a rezolva prognoza pe termen scurt pentru energia solară. Are o experiență în planificare urbană, optimizare combinatorie, economie a transporturilor și matematică aplicată.
Durga Sury este arhitect de soluții ML în echipa Amazon SageMaker Service SA. Este pasionată de a face învățarea automată accesibilă tuturor. În cei 3 ani la AWS, ea a ajutat la crearea platformelor AI/ML pentru clienții întreprinderilor. Când nu lucrează, îi plac plimbările cu motocicleta, romanele misterioase și drumețiile cu husky-ul ei de patru ani.
Karthik Bharathy este liderul de produse pentru Amazon SageMaker cu peste un deceniu de experiență în managementul produsului, strategie de produs, execuție și lansare.
- Coinsmart. Cel mai bun schimb de Bitcoin și Crypto din Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. ACCES LIBER.
- CryptoHawk. Radar Altcoin. Încercare gratuită.
- Source: https://aws.amazon.com/blogs/machine-learning/improve-ml-developer-productivity-with-weights-biases-a-computer-vision-example-on-amazon-sagemaker/
- "
- &
- 000
- 10
- 100
- a
- Despre Noi
- acces
- accesibil
- accesarea
- Cont
- peste
- Suplimentar
- AI
- algoritmi
- TOATE
- deja
- Amazon
- analiză
- analiza
- aplicaţia
- aplicatii
- aplicat
- arhitectură
- în jurul
- Avocat Colaborator
- audio
- în mod automat
- autonom
- disponibil
- AWS
- fundal
- De bază
- deoarece
- CEL MAI BUN
- construi
- construiește
- afaceri
- masini
- caz
- central
- Grafice
- Alege
- ales
- clasă
- clase
- cod
- colabora
- colaborarea
- colaborare
- colectare
- Companii
- Completă
- calculator
- Configuraţie
- conține
- conţinut
- Corespunzător
- crea
- creează
- clienţii care
- tablou de bord
- de date
- Baza de date
- deceniu
- hotărât
- adânc
- demonstrat
- implementa
- proiectat
- Dezvoltator
- Dezvoltatorii
- Dezvoltare
- diferit
- distribuire
- domeniu
- în timpul
- fiecare
- cu ușurință
- Economie
- permite
- permite
- energie
- inginer
- Intrați
- Afacere
- entități
- Mediu inconjurator
- mai ales
- toată lumea
- exemplu
- execuție
- experienţă
- experiment
- explora
- FAST
- mai repede
- Caracteristică
- First
- urma
- următor
- Gratuit
- din
- Complet
- distracţie
- funcții
- General
- generată
- merge
- GitHub
- Oferirea
- scop
- merge
- bine
- GPU
- a ajutat
- ajută
- istorie
- Cum
- Cum Pentru a
- HTTPS
- identifica
- identificarea
- Identitate
- imagine
- imagini
- implementarea
- îmbunătăţi
- include
- Inclusiv
- industrii
- Infrastructură
- inovatoare
- intrare
- perspective
- inspirat
- instala
- instanță
- integrate
- integrare
- interactiv
- interesat
- interfaţă
- introductiv
- IT
- A pastra
- păstrare
- Cheie
- etichete
- limbă
- lansa
- lider
- AFLAȚI
- învăţare
- Bibliotecă
- linii
- Listă
- trăi
- încărca
- maşină
- masina de învățare
- face
- FACE
- Efectuarea
- administrare
- manual
- munca manuala
- manual
- piaţă
- Măști
- matematica
- mijloace
- Mass-media
- Metrici
- ar putea
- minte
- ML
- model
- Modele
- mai mult
- cele mai multe
- motocicletă
- multiplu
- Mister
- Natural
- nevoilor
- caiet
- deschide
- de deschidere
- de operare
- sistem de operare
- Avize
- optimizare
- Optimizați
- Opțiune
- Opţiuni
- comandă
- organizații
- Altele
- global
- propriu
- Hârtie
- în special
- pasionat
- performanță
- spectacole
- planificare
- platformă
- Platforme
- Punct
- Punct de vedere
- pozitiv
- putere
- puternic
- Predictii
- prezenta
- Prezentări
- proces
- prelucrare
- Produs
- management de produs
- productivitate
- proiect
- Proiecte
- furnizează
- repede
- Crud
- repeta
- depozit
- necesar
- Cerinţe
- cercetare
- responsabil
- rezultând
- REZULTATE
- drum
- Rol
- Alerga
- funcţionare
- acelaşi
- scalabil
- scenă
- oamenii de stiinta
- Caută
- segment
- segmentarea
- serviciu
- set
- Distribuie
- partajarea
- Pe termen scurt
- prezenta
- indicat
- semna
- simplu
- singur
- Mărimea
- So
- solar
- energie solara
- soluţie
- soluţii
- REZOLVAREA
- unele
- standard
- Începe
- început
- stoca
- Strategie
- puternic
- studio
- Studiu
- a sustine
- Sweep
- sistem
- echipă
- echipe
- tehnici de
- Terminal
- termeni
- articulația
- lumea
- terț
- Prin
- timp
- top
- urmări
- Urmărire
- trafic
- Pregătire
- transformări
- Transparență
- de încredere
- ui
- înţelege
- urban
- us
- utilizare
- utilizatorii
- validare
- valoare
- diverse
- vehicul
- versiune
- Video
- Video
- Vizualizare
- viziune
- vulnerabil
- bazat pe web
- dacă
- în timp ce
- Wikipedia
- Apartamente
- de lucru
- lume
- ani
- Ta