Creați modele de clasificare a imaginilor performante folosind Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Creați modele de clasificare a imaginilor performante folosind Amazon SageMaker JumpStart

Clasificarea imaginilor este o tehnică de învățare automată (ML) bazată pe viziune computerizată care vă permite să clasificați imagini. Câteva exemple binecunoscute de clasificare a imaginilor includ clasificarea cifrelor scrise de mână, clasificarea imaginilor medicale și recunoașterea facială. Clasificarea imaginilor este o tehnică utilă cu mai multe aplicații de afaceri, dar construirea unui model bun de clasificare a imaginilor nu este trivială.

Mai multe considerente pot juca un rol atunci când se evaluează un model ML. Dincolo de acuratețea modelului, alte valori potențiale de importanță sunt timpul de pregătire a modelului și timpul de inferență. Având în vedere natura iterativă a dezvoltării modelului ML, timpii de antrenament mai rapid le permit oamenilor de știință să testeze rapid diverse ipoteze. Inferențele mai rapide pot fi critice în aplicațiile în timp real.

Amazon SageMaker JumpStart furnizează reglajul fin și implementarea cu un singur clic a unei game largi de modele pregătite în prealabil pentru sarcinile ML populare, precum și o selecție de soluții end-to-end care rezolvă problemele obișnuite de afaceri. Aceste caracteristici îndepărtează sarcinile grele din fiecare pas al procesului ML, facilitând dezvoltarea modelelor de înaltă calitate și reducând timpul până la implementare. API-uri JumpStart vă permit să implementați și să reglați în mod programatic o selecție vastă de modele pre-antrenate acceptate de JumpStart pe propriile seturi de date.

Puteți antrena și regla gradual modelele ML oferite în JumpStart înainte de implementare. La momentul scrierii, 87 de modele de clasificare a imaginilor bazate pe învățare profundă sunt disponibile în JumpStart.

Dar care model vă va oferi cele mai bune rezultate? În această postare, prezentăm o metodologie pentru a rula cu ușurință mai multe modele și a compara rezultatele acestora pe trei dimensiuni de interes: precizia modelului, timpul de antrenament și timpul de inferență.

Prezentare generală a soluțiilor

JumpStart vă permite să antrenați, să reglați și să implementați modele fie din consola JumpStart folosind interfața sa de utilizare, fie cu API-ul său. În această postare, folosim ruta API și prezentăm un caiet cu diverse scripturi de ajutor. Puteți rula acest notebook și puteți obține rezultate pentru o comparație ușoară a acestor modele între ele și apoi alegeți un model care se potrivește cel mai bine nevoilor dvs. de afaceri în ceea ce privește precizia modelului, timpul de antrenament și timpul de inferență.

set de date publice folosit în această postare constă în aproape 55,000 de imagini cu frunze de plante bolnave și sănătoase colectate în condiții controlate, cu etichete de clasă variind de la 0 la 38. Acest set de date este împărțit în seturi de date tren și validare, cu aproximativ 44,000 în curs de instruire și 11,000 de imagini în curs de validare. Următoarele sunt câteva exemple de imagini.

Pentru acest exercițiu, am selectat modele din două cadre — PyTorch și TensorFlow — așa cum sunt oferite de JumpStart. Următorii 15 algoritmi model acoperă o gamă largă de arhitecturi populare de rețele neuronale din aceste cadre:

  • pytorch-ic-alexnet-FT
  • pytorch-ic-densenet121-FT
  • pytorch-ic-densenet201-FT
  • pytorch-ic-googlenet-FT
  • pytorch-ic-mobilenet-v2-FT
  • pytorch-ic-resnet152-FT
  • pytorch-ic-resnet34-FT
  • tensorflow-ic-bit-s-r101x1-ilsvrc2012-classification-1-FT
  • tensorflow-ic-imagenet-inception-resnet-v2-classification 4-FT
  • tensorflow-ic-imagenet-inception-v3-classification-4-FT
  • tensorflow-ic-imagenet-mobilenet-v2-050-224-classification-4-FT
  • tensorflow-ic-imagenet-mobilenet-v2-075-224-classification-4-FT
  • tensorflow-ic-imagenet-mobilenet-v2-140-224-classification-4-FT
  • tensorflow-ic-imagenet-resnet-v2-152-classification-4-FT
  • tensorflow-ic-tf2-preview-mobilenet-v2-classification-4-FT

Folosim modelul tensorflow-ic-imagenet-inception-v3-classification-4-FT ca bază cu care se compară rezultatele altor modele. Acest model de bază a fost ales în mod arbitrar.

Codul folosit pentru a rula această comparație este disponibil pe AWS Samples GitHub repo.

REZULTATE

În această secțiune, prezentăm rezultatele acestor 15 curse. Pentru toate aceste rulări, hiperparametrii utilizați au fost epochs = 5, rata de învățare = 0.001, dimensiunea lotului = 16.

Precizia modelului, timpul de antrenament și timpul de inferență din model tensorflow-ic-imagenet-inception-v3-classification-4-FT au fost luate ca bază, iar rezultatele din toate celelalte modele sunt prezentate în raport cu acest model de bază. Intenția noastră aici nu este să arătăm care model este cel mai bun, ci mai degrabă să arătăm cum, prin JumpStart API, puteți compara rezultatele de la diferite modele și apoi alegeți un model care se potrivește cel mai bine cazului dvs. de utilizare.

Următoarea captură de ecran evidențiază modelul de bază cu care au fost comparate toate celelalte modele.

Creați modele de clasificare a imaginilor performante folosind Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Următorul grafic prezintă o vedere detaliată a preciziei relative în raport cu timpul relativ de antrenament. Modelele PyTorch au coduri de culoare în roșu, iar modelele TensorFlow în albastru.

Creați modele de clasificare a imaginilor performante folosind Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Modelele evidențiate cu o elipsă verde în graficul precedent par să aibă o combinație bună de precizie relativă și timp relativ scăzut de antrenament. Următorul tabel oferă mai multe detalii despre aceste trei modele.

Nume model Precizie relativă Timp relativ de antrenament
tensorflow-ic-imagenet-mobilenet-v2-050-224-clasificare-4-FT 1.01 0.74
tensorflow-ic-imagenet-mobilenet-v2-140-224-clasificare-4-FT 1.02 0.74
tensorflow-ic-bit-s-r101x1-ilsvrc2012-clasificare-1-FT 1.04 1.16

Următorul grafic compară precizia relativă cu timpul relativ de inferență. Modelele PyTorch au coduri de culoare în roșu, iar modelele TensorFlow în albastru.

Creați modele de clasificare a imaginilor performante folosind Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Următorul tabel oferă detalii despre cele trei modele din elipsa verde.

Nume model Precizie relativă Timpul relativ de inferență
tensorflow-ic-imagenet-mobilenet-v2-050-224-clasificare-4-FT 1.01 0.94
tensorflow-ic-imagenet-mobilenet-v2-140-224-clasificare-4-FT 1.02 0.90
tensorflow-ic-bit-s-r101x1-ilsvrc2012-clasificare-1-FT 1.04 1.43

Cele două diagrame demonstrează în mod clar că anumiți algoritmi de model au funcționat mai bine decât alții pe cele trei dimensiuni care au fost selectate. Flexibilitatea oferită prin acest exercițiu vă poate ajuta să alegeți algoritmul potrivit și, folosind notebook-ul furnizat, puteți rula cu ușurință acest tip de experiment pe oricare dintre cele 87 de modele disponibile.

Concluzie

În această postare, am arătat cum să folosim JumpStart pentru a construi modele de clasificare a imaginilor performante pe mai multe dimensiuni de interes, cum ar fi acuratețea modelului, timpul de antrenament și latența de inferență. De asemenea, am furnizat codul pentru a rula acest exercițiu pe propriul set de date; puteți alege orice model de interes din cele 87 de modele care sunt disponibile în prezent pentru clasificarea imaginilor în hub-ul de modele JumpStart. Vă încurajăm să încercați astăzi.

Pentru mai multe detalii despre JumpStart, consultați SageMaker JumpStart.


Despre Autori

Creați modele de clasificare a imaginilor performante folosind Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Dr. Raju Penmatcha este arhitect specializat în soluții AI/ML în platforme AI la AWS. Și-a luat doctoratul la Universitatea Stanford. Lucrează îndeaproape la suita de servicii low/no-code din SageMaker, care ajută clienții să construiască și să implementeze cu ușurință modele și soluții de învățare automată. Când nu ajută clienții, îi place să călătorească în locuri noi.

Creați modele de clasificare a imaginilor performante folosind Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Dr. Ashish Khetan este un om de știință senior aplicat cu algoritmi încorporați Amazon SageMaker și ajută la dezvoltarea algoritmilor de învățare automată. Și-a luat doctoratul la Universitatea din Illinois Urbana-Champaign. Este un cercetător activ în învățarea automată și inferența statistică și a publicat multe lucrări în conferințele NeurIPS, ICML, ICLR, JMLR, ACL și EMNLP.

Timestamp-ul:

Mai mult de la Învățare automată AWS