Twórz wydajne modele klasyfikacji obrazów przy użyciu Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Twórz wydajne modele klasyfikacji obrazów za pomocą Amazon SageMaker JumpStart

Klasyfikacja obrazów to technika uczenia maszynowego (ML) oparta na wizji komputerowej, która umożliwia klasyfikowanie obrazów. Niektóre dobrze znane przykłady klasyfikacji obrazów obejmują klasyfikację odręcznych cyfr, klasyfikację obrazów medycznych i rozpoznawanie twarzy. Klasyfikacja obrazu to przydatna technika w kilku zastosowaniach biznesowych, ale zbudowanie dobrego modelu klasyfikacji obrazu nie jest trywialne.

Podczas oceny modelu ML może odgrywać rolę kilka kwestii. Poza dokładnością modelu, inne potencjalnie ważne metryki to czas szkolenia modelu i czas wnioskowania. Biorąc pod uwagę iteracyjny charakter opracowywania modeli uczenia maszynowego, krótsze czasy szkolenia umożliwiają analitykom danych szybkie testowanie różnych hipotez. Szybsze wnioskowanie może mieć kluczowe znaczenie w aplikacjach czasu rzeczywistego.

Amazon SageMaker JumpStart zapewnia dostrajanie jednym kliknięciem i wdrażanie szerokiej gamy wstępnie przeszkolonych modeli w popularnych zadaniach ML, a także wybór kompleksowych rozwiązań, które rozwiązują typowe problemy biznesowe. Te funkcje eliminują konieczność podnoszenia ciężarów na każdym etapie procesu ML, ułatwiając opracowywanie modeli wysokiej jakości i skracając czas wdrażania. Interfejsy API JumpStart umożliwiają programowe wdrażanie i dostrajanie szerokiej gamy wstępnie wytrenowanych modeli obsługiwanych przez JumpStart na własnych zestawach danych.

Możesz stopniowo trenować i dostrajać modele ML oferowane w JumpStart przed wdrożeniem. W chwili pisania tego tekstu w JumpStart dostępnych jest 87 modeli klasyfikacji obrazów opartych na głębokim uczeniu się.

Ale który model zapewni najlepsze rezultaty? W tym poście przedstawiamy metodologię łatwego uruchamiania wielu modeli i porównywania ich wyników w trzech wymiarach zainteresowania: dokładności modelu, czasu szkolenia i czasu wnioskowania.

Omówienie rozwiązania

JumpStart umożliwia trenowanie, dostrajanie i wdrażanie modeli z konsoli JumpStart za pomocą interfejsu użytkownika lub interfejsu API. W tym poście korzystamy z trasy API i przedstawiamy notatnik z różnymi skryptami pomocniczymi. Możesz uruchomić ten notatnik i uzyskać wyniki w celu łatwego porównania tych modeli ze sobą, a następnie wybrać model, który najlepiej odpowiada Twoim potrzebom biznesowym pod względem dokładności modelu, czasu szkolenia i czasu wnioskowania.

Połączenia publiczny zbiór danych użyte w tym poście składa się z prawie 55,000 0 zdjęć chorych i zdrowych liści roślin zebranych w kontrolowanych warunkach, z klasami od 38 do 44,000. Ten zestaw danych jest podzielony na zestawy danych pociągów i walidacji, z około 11,000 XNUMX w trakcie szkolenia i XNUMX XNUMX obrazów w trakcie walidacji. Poniżej przedstawiono kilka przykładowych obrazów.

Do tego ćwiczenia wybraliśmy modele z dwóch frameworków — PyTorch i TensorFlow — oferowanych przez JumpStart. Poniższe 15 algorytmów modelowych obejmuje szeroki zakres popularnych architektur sieci neuronowych z tych platform:

  • 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

Korzystamy ze wzoru tensorflow-ic-imagenet-inception-v3-classification-4-FT jako baza, z którą porównuje się wyniki z innych modeli. Ten model bazowy został wybrany arbitralnie.

Kod użyty do uruchomienia tego porównania jest dostępny w witrynie Repozytorium GitHub próbek AWS.

Efekt

W tej sekcji prezentujemy wyniki z tych 15 biegów. We wszystkich tych przebiegach zastosowano hiperparametry: epoki = 5, szybkość uczenia = 0.001, wielkość partii = 16.

Dokładność modelu, czas uczenia i czas wnioskowania z modelu tensorflow-ic-imagenet-inception-v3-classification-4-FT przyjęto jako podstawę, a wyniki wszystkich pozostałych modeli przedstawiono w odniesieniu do tego modelu podstawowego. Naszym zamiarem nie jest pokazanie, który model jest najlepszy, ale raczej pokazanie, jak za pomocą interfejsu API JumpStart można porównać wyniki z różnych modeli, a następnie wybrać model, który najlepiej pasuje do danego przypadku użycia.

Na poniższym zrzucie ekranu przedstawiono model podstawowy, z którym porównano wszystkie inne modele.

Twórz wydajne modele klasyfikacji obrazów przy użyciu Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Poniższy wykres przedstawia szczegółowy widok względnej dokładności w funkcji względnego czasu treningu. Modele PyTorch są oznaczone kolorami na czerwono, a modele TensorFlow na niebiesko.

Twórz wydajne modele klasyfikacji obrazów przy użyciu Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Modele zaznaczone zieloną elipsą na poprzednim wykresie wydają się mieć dobrą kombinację względnej dokładności i krótkiego względnego czasu uczenia. Poniższa tabela zawiera więcej szczegółów na temat tych trzech modeli.

Nazwa modelu Dokładność względna Względny czas treningu
tensorflow-ic-imagenet-mobilenet-v2-050-224-klasyfikacja-4-FT 1.01 0.74
tensorflow-ic-imagenet-mobilenet-v2-140-224-klasyfikacja-4-FT 1.02 0.74
tensorflow-ic-bit-s-r101x1-ilsvrc2012-klasyfikacja-1-FT 1.04 1.16

Poniższy wykres porównuje względną dokładność z względnym czasem wnioskowania. Modele PyTorch są oznaczone kolorami na czerwono, a modele TensorFlow na niebiesko.

Twórz wydajne modele klasyfikacji obrazów przy użyciu Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Poniższa tabela zawiera szczegółowe informacje na temat trzech modeli w zielonej elipsie.

Nazwa modelu Dokładność względna Względny czas wnioskowania
tensorflow-ic-imagenet-mobilenet-v2-050-224-klasyfikacja-4-FT 1.01 0.94
tensorflow-ic-imagenet-mobilenet-v2-140-224-klasyfikacja-4-FT 1.02 0.90
tensorflow-ic-bit-s-r101x1-ilsvrc2012-klasyfikacja-1-FT 1.04 1.43

Te dwa wykresy wyraźnie pokazują, że niektóre algorytmy modelowe działały lepiej niż inne w wybranych trzech wymiarach. Elastyczność tego ćwiczenia może pomóc w wybraniu odpowiedniego algorytmu, a za pomocą dostarczonego notatnika możesz łatwo przeprowadzić tego typu eksperyment na dowolnym z 87 dostępnych modeli.

Wnioski

W tym poście pokazaliśmy, jak używać funkcji JumpStart do tworzenia wysokowydajnych modeli klasyfikacji obrazów w wielu wymiarach zainteresowania, takich jak dokładność modelu, czas szkolenia i opóźnienie wnioskowania. Udostępniliśmy również kod umożliwiający uruchomienie tego ćwiczenia na własnym zbiorze danych; możesz wybrać dowolne interesujące Cię modele spośród 87 modeli, które są obecnie dostępne do klasyfikacji obrazów w centrum modeli JumpStart. Zachęcamy do spróbowania już dziś.

Aby uzyskać więcej informacji na temat funkcji JumpStart, patrz SageMaker Szybki start.


O autorach

Twórz wydajne modele klasyfikacji obrazów przy użyciu Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Dr Raju Penmatcha jest Architektem Rozwiązań Specjalistycznych AI/ML w Platformach AI w AWS. Doktoryzował się na Uniwersytecie Stanforda. Ściśle współpracuje nad zestawem usług SageMaker o niskim lub zerowym kodzie, które pomagają klientom w łatwym tworzeniu i wdrażaniu modeli i rozwiązań uczenia maszynowego. Kiedy nie pomaga klientom, lubi podróżować w nowe miejsca.

Twórz wydajne modele klasyfikacji obrazów przy użyciu Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Dr Ashish Khetan jest starszym naukowcem z wbudowanymi algorytmami Amazon SageMaker i pomaga rozwijać algorytmy uczenia maszynowego. Doktoryzował się na University of Illinois Urbana-Champaign. Jest aktywnym badaczem uczenia maszynowego i wnioskowania statystycznego oraz opublikował wiele artykułów na konferencjach NeurIPS, ICML, ICLR, JMLR, ACL i EMNLP.

Znak czasu:

Więcej z Uczenie maszynowe AWS