Bygg högpresterande bildklassificeringsmodeller med Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Bygg högpresterande bildklassificeringsmodeller med Amazon SageMaker JumpStart

Bildklassificering är en datorseendebaserad maskininlärningsteknik (ML) som låter dig klassificera bilder. Några välkända exempel på bildklassificering inkluderar klassificering av handskrivna siffror, medicinsk bildklassificering och ansiktsigenkänning. Bildklassificering är en användbar teknik med flera affärsapplikationer, men att bygga en bra bildklassificeringsmodell är inte trivialt.

Flera överväganden kan spela roll vid utvärdering av en ML-modell. Utöver modellnoggrannhet är andra potentiella mått av betydelse modellträningstid och slutledningstid. Med tanke på den iterativa karaktären hos ML-modellutveckling gör snabbare träningstider det möjligt för datavetare att snabbt testa olika hypoteser. Snabbare slutledning kan vara avgörande i realtidsapplikationer.

Amazon SageMaker JumpStart ger finjustering och distribution med ett klick av ett brett utbud av förutbildade modeller över populära ML-uppgifter, samt ett urval av helhetslösningar som löser vanliga affärsproblem. Dessa funktioner tar bort de tunga lyften från varje steg i ML-processen, vilket gör det lättare att utveckla högkvalitativa modeller och minskar tiden till implementering. JumpStart API:er låter dig programmera distribuera och finjustera ett stort urval av JumpStart-stödda förtränade modeller på dina egna datauppsättningar.

Du kan stegvis träna och ställa in ML-modellerna som erbjuds i JumpStart före driftsättning. I skrivande stund finns 87 djupinlärningsbaserade bildklassificeringsmodeller tillgängliga i JumpStart.

Men vilken modell ger dig bäst resultat? I det här inlägget presenterar vi en metod för att enkelt köra flera modeller och jämföra deras resultat på tre dimensioner av intresse: modellnoggrannhet, träningstid och slutledningstid.

Lösningsöversikt

JumpStart låter dig träna, ställa in och distribuera modeller antingen från JumpStart-konsolen med dess användargränssnitt eller med dess API. I det här inlägget använder vi API-rutten, och presenterar en anteckningsbok med olika hjälpskript. Du kan köra den här anteckningsboken och få resultat för enkel jämförelse av dessa modeller mot varandra, och sedan välja en modell som bäst passar ditt företags behov när det gäller modellnoggrannhet, utbildningstid och slutledningstid.

Smakämnen offentlig datauppsättning som används i det här inlägget består av nästan 55,000 0 bilder av sjuka och friska växtblad samlade under kontrollerade förhållanden, med klassetiketter från 38–44,000. Denna datauppsättning är uppdelad i tåg- och valideringsdatauppsättningar, med cirka 11,000 XNUMX under utbildning och XNUMX XNUMX bilder under validering. Följande är några exempelbilder.

För den här övningen valde vi ut modeller från två ramverk—PyTorch och TensorFlow—som erbjuds av JumpStart. Följande 15 modellalgoritmer täcker ett brett utbud av populära neurala nätverksarkitekturer från dessa ramverk:

  • 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

Vi använder modellen tensorflow-ic-imagenet-inception-v3-classification-4-FT som en bas mot vilken resultat från andra modeller jämförs. Denna basmodell valdes godtyckligt.

Koden som används för att köra denna jämförelse är tillgänglig på AWS-prov GitHub repo.

Resultat

I det här avsnittet presenterar vi resultaten från dessa 15 körningar. För alla dessa körningar var hyperparametrarna som användes epoker = 5, inlärningshastighet = 0.001, batchstorlek = 16.

Modellnoggrannhet, träningstid och slutledningstid från modell tensorflow-ic-imagenet-inception-v3-classification-4-FT togs som bas, och resultat från alla andra modeller presenteras i förhållande till denna basmodell. Vår avsikt här är inte att visa vilken modell som är bäst utan snarare att visa hur du genom JumpStart API kan jämföra resultat från olika modeller och sedan välja en modell som bäst passar ditt användningsfall.

Följande skärmdump belyser basmodellen mot vilken alla andra modeller jämfördes.

Bygg högpresterande bildklassificeringsmodeller med Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Följande plot visar en detaljerad vy av relativ noggrannhet kontra relativ träningstid. PyTorch-modeller är färgkodade i rött och TensorFlow-modeller i blått.

Bygg högpresterande bildklassificeringsmodeller med Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

De modeller som markerats med en grön ellips i föregående plot verkar ha en bra kombination av relativ noggrannhet och låg relativ träningstid. Följande tabell ger mer information om dessa tre modeller.

Modellnamn Relativ noggrannhet Relativ träningstid
tensorflow-ic-imagenet-mobilenet-v2-050-224-classification-4-FT 1.01 0.74
tensorflow-ic-imagenet-mobilenet-v2-140-224-classification-4-FT 1.02 0.74
tensorflow-ic-bit-s-r101x1-ilsvrc2012-classification-1-FT 1.04 1.16

Följande plot jämför relativ noggrannhet mot relativ slutledningstid. PyTorch-modeller är färgkodade i rött och TensorFlow-modeller i blått.

Bygg högpresterande bildklassificeringsmodeller med Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Följande tabell ger detaljer om de tre modellerna i den gröna ellipsen.

Modellnamn Relativ noggrannhet Relativ slutledningstid
tensorflow-ic-imagenet-mobilenet-v2-050-224-classification-4-FT 1.01 0.94
tensorflow-ic-imagenet-mobilenet-v2-140-224-classification-4-FT 1.02 0.90
tensorflow-ic-bit-s-r101x1-ilsvrc2012-classification-1-FT 1.04 1.43

De två plotten visar tydligt att vissa modellalgoritmer presterade bättre än andra på de tre dimensioner som valdes ut. Flexibiliteten som erbjuds genom denna övning kan hjälpa dig att välja rätt algoritm, och genom att använda den medföljande anteckningsboken kan du enkelt köra den här typen av experiment på någon av de 87 tillgängliga modellerna.

Slutsats

I det här inlägget visade vi hur man använder JumpStart för att bygga högpresterande bildklassificeringsmodeller på flera dimensioner av intresse, såsom modellnoggrannhet, träningstid och slutledningslatens. Vi tillhandahåller också koden för att köra den här övningen på din egen datauppsättning; du kan välja alla intressanta modeller bland de 87 modeller som för närvarande är tillgängliga för bildklassificering i JumpStart modellnavet. Vi uppmuntrar dig att prova idag.

För mer information om JumpStart, se SageMaker JumpStart.


Om författarna

Bygg högpresterande bildklassificeringsmodeller med Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Dr Raju Penmatcha är en AI/ML Specialist Solutions Architect in AI Platforms på AWS. Han tog sin doktorsexamen från Stanford University. Han arbetar nära med låg/ingen kodsvit av tjänster i SageMaker, som hjälper kunder att enkelt bygga och distribuera modeller och lösningar för maskininlärning. När han inte hjälper kunder gillar han att resa till nya platser.

Bygg högpresterande bildklassificeringsmodeller med Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Dr Ashish Khetan är en Senior Applied Scientist med Amazon SageMaker inbyggda algoritmer och hjälper till att utveckla maskininlärningsalgoritmer. Han tog sin doktorsexamen från University of Illinois Urbana-Champaign. Han är en aktiv forskare inom maskininlärning och statistisk slutledning och har publicerat många artiklar i NeurIPS, ICML, ICLR, JMLR, ACL och EMNLP-konferenser.

Tidsstämpel:

Mer från AWS maskininlärning