Bouw hoogwaardige modellen voor beeldclassificatie met Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Bouw hoogwaardige modellen voor beeldclassificatie met behulp van Amazon SageMaker JumpStart

Afbeeldingsclassificatie is een op computer vision gebaseerde machine learning (ML)-techniek waarmee u afbeeldingen kunt classificeren. Enkele bekende voorbeelden van beeldclassificatie zijn het classificeren van handgeschreven cijfers, classificatie van medische beelden en gezichtsherkenning. Beeldclassificatie is een handige techniek bij verschillende zakelijke toepassingen, maar het bouwen van een goed beeldclassificatiemodel is niet triviaal.

Bij het evalueren van een ML-model kunnen verschillende overwegingen een rol spelen. Naast modelnauwkeurigheid zijn andere potentiรซle meetwaarden die van belang zijn, de trainingstijd van het model en de inferentietijd. Gezien de iteratieve aard van de ontwikkeling van ML-modellen, kunnen datawetenschappers dankzij kortere trainingstijden snel verschillende hypothesen testen. Snellere gevolgtrekkingen kunnen cruciaal zijn in real-time toepassingen.

Amazon SageMaker JumpStart biedt fine-tuning en implementatie met รฉรฉn klik van een breed scala aan vooraf getrainde modellen voor populaire ML-taken, evenals een selectie van end-to-end-oplossingen die veelvoorkomende zakelijke problemen oplossen. Deze functies verwijderen het zware werk van elke stap van het ML-proces, waardoor het gemakkelijker wordt om hoogwaardige modellen te ontwikkelen en de implementatietijd te verkorten. JumpStart-API's stelt u in staat om een โ€‹โ€‹uitgebreide selectie van door JumpStart ondersteunde vooraf getrainde modellen programmatisch te implementeren en af โ€‹โ€‹te stemmen op uw eigen datasets.

U kunt de ML-modellen die in JumpStart worden aangeboden stapsgewijs trainen en afstemmen voordat u ze implementeert. Op het moment van schrijven zijn er 87 op deep learning gebaseerde beeldclassificatiemodellen beschikbaar in JumpStart.

Maar welk model geeft u de beste resultaten? In dit bericht presenteren we een methodologie om eenvoudig meerdere modellen uit te voeren en hun output te vergelijken op drie belangrijke dimensies: modelnauwkeurigheid, trainingstijd en inferentietijd.

Overzicht oplossingen

Met JumpStart kunt u modellen trainen, afstemmen en implementeren vanuit de JumpStart-console met behulp van de gebruikersinterface of met de API. In dit bericht gebruiken we de API-route en presenteren we een notebook met verschillende helperscripts. U kunt dit notitieblok uitvoeren en resultaten krijgen om deze modellen eenvoudig met elkaar te vergelijken, en vervolgens een model kiezen dat het beste past bij uw zakelijke behoeften wat betreft modelnauwkeurigheid, trainingstijd en inferentietijd.

De openbare dataset gebruikt in dit bericht bestaat uit bijna 55,000 afbeeldingen van zieke en gezonde plantenbladeren die onder gecontroleerde omstandigheden zijn verzameld, met klasselabels variรซrend van 0-38. Deze dataset is verdeeld in trein- en validatiedatasets, met ongeveer 44,000 in training en 11,000 afbeeldingen in validatie. Hieronder volgen enkele voorbeeldafbeeldingen.

Voor deze oefening hebben we modellen geselecteerd uit twee frameworks - PyTorch en TensorFlow - zoals aangeboden door JumpStart. De volgende 15 modelalgoritmen dekken een breed scala aan populaire neurale netwerkarchitecturen uit deze frameworks:

  • 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

Wij gebruiken het model tensorflow-ic-imagenet-inception-v3-classification-4-FT als basis waarmee de resultaten van andere modellen worden vergeleken. Dit basismodel is willekeurig gekozen.

De code die wordt gebruikt om deze vergelijking uit te voeren, is beschikbaar op de AWS-voorbeelden GitHub-opslagplaats.

Resultaten

In deze sectie presenteren we de resultaten van deze 15 runs. Voor al deze runs waren de gebruikte hyperparameters tijdperken = 5, leersnelheid = 0.001, batchgrootte = 16.

Modelnauwkeurigheid, trainingstijd en inferentietijd van het model tensorflow-ic-imagenet-inception-v3-classification-4-FT werden als basis genomen en de resultaten van alle andere modellen worden gepresenteerd ten opzichte van dit basismodel. Het is niet onze bedoeling om te laten zien welk model het beste is, maar om te laten zien hoe u via de JumpStart API de resultaten van verschillende modellen kunt vergelijken en vervolgens een model kunt kiezen dat het beste bij uw gebruik past.

De volgende schermafbeelding laat het basismodel zien waarmee alle andere modellen zijn vergeleken.

Bouw hoogwaardige modellen voor beeldclassificatie met Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

De volgende grafiek toont een gedetailleerd overzicht van relatieve nauwkeurigheid versus relatieve trainingstijd. PyTorch-modellen hebben een kleurcode in rood en TensorFlow-modellen in blauw.

Bouw hoogwaardige modellen voor beeldclassificatie met Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

De modellen gemarkeerd met een groene ellips in de voorgaande grafiek lijken een goede combinatie van relatieve nauwkeurigheid en lage relatieve trainingstijd te hebben. De volgende tabel geeft meer informatie over deze drie modellen.

Modelnaam Relatieve nauwkeurigheid Relatieve trainingstijd
tensorflow-ic-imagenet-mobilenet-v2-050-224-classificatie-4-FT 1.01 0.74
tensorflow-ic-imagenet-mobilenet-v2-140-224-classificatie-4-FT 1.02 0.74
tensorflow-ic-bit-s-r101x1-ilsvrc2012-classificatie-1-FT 1.04 1.16

De volgende grafiek vergelijkt de relatieve nauwkeurigheid versus de relatieve inferentietijd. PyTorch-modellen hebben een kleurcode in rood en TensorFlow-modellen in blauw.

Bouw hoogwaardige modellen voor beeldclassificatie met Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

De volgende tabel geeft details over de drie modellen in de groene ellips.

Modelnaam Relatieve nauwkeurigheid Relatieve inferentietijd
tensorflow-ic-imagenet-mobilenet-v2-050-224-classificatie-4-FT 1.01 0.94
tensorflow-ic-imagenet-mobilenet-v2-140-224-classificatie-4-FT 1.02 0.90
tensorflow-ic-bit-s-r101x1-ilsvrc2012-classificatie-1-FT 1.04 1.43

De twee plots laten duidelijk zien dat bepaalde modelalgoritmen beter presteerden dan andere op de drie geselecteerde dimensies. De flexibiliteit die deze oefening biedt, kan u helpen bij het kiezen van het juiste algoritme, en door het meegeleverde notitieboek te gebruiken, kunt u dit type experiment eenvoudig uitvoeren op elk van de 87 beschikbare modellen.

Conclusie

In dit bericht hebben we laten zien hoe u JumpStart kunt gebruiken om goed presterende beeldclassificatiemodellen te bouwen op meerdere dimensies die van belang zijn, zoals modelnauwkeurigheid, trainingstijd en inferentielatentie. We hebben ook de code geleverd om deze oefening op uw eigen dataset uit te voeren; u kunt alle interessante modellen kiezen uit de 87 modellen die momenteel beschikbaar zijn voor beeldclassificatie in de JumpStart-modelhub. We raden je aan om het vandaag nog eens te proberen.

Raadpleeg voor meer informatie over JumpStart SageMaker JumpStart.


Over de auteurs

Bouw hoogwaardige modellen voor beeldclassificatie met Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Dr Raju Penmatcha is een AI/ML Specialist Solutions Architect in AI Platforms bij AWS. Hij promoveerde aan de Stanford University. Hij werkt nauw samen aan de low/no-code suite van services in SageMaker, waarmee klanten eenvoudig machine learning-modellen en -oplossingen kunnen bouwen en implementeren. Als hij geen klanten helpt, reist hij graag naar nieuwe plaatsen.

Bouw hoogwaardige modellen voor beeldclassificatie met Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Dr Ashish Khetan is een Senior Applied Scientist met ingebouwde algoritmen van Amazon SageMaker en helpt bij het ontwikkelen van algoritmen voor machine learning. Hij promoveerde aan de Universiteit van Illinois in Urbana-Champaign. Hij is een actief onderzoeker op het gebied van machine learning en statistische inferentie, en heeft veel artikelen gepubliceerd op NeurIPS-, ICML-, ICLR-, JMLR-, ACL- en EMNLP-conferenties.

Tijdstempel:

Meer van AWS-machine learning