Amazon Sage Maker zapewnia pakiet wbudowane algorytmy, wstępnie wytrenowane modele, gotowe szablony rozwiązań aby pomóc naukowcom zajmującym się danymi i praktykom uczenia maszynowego (ML) rozpocząć szybkie szkolenie i wdrażanie modeli ML. Możesz używać tych algorytmów i modeli zarówno do uczenia nadzorowanego, jak i nienadzorowanego. Mogą przetwarzać różne typy danych wejściowych, w tym tabelaryczne, graficzne i tekstowe.
Od dzisiaj SageMaker udostępnia nowy wbudowany algorytm klasyfikacji obrazów: Klasyfikacja obrazów – TensorFlow. Jest to nadzorowany algorytm uczenia, który obsługuje uczenie transferu dla wielu wstępnie wytrenowanych modeli dostępnych w Centrum TensorFlow. Pobiera obraz jako prawdopodobieństwo wejścia i wyjścia dla każdej z etykiet klasy. Te wstępnie wytrenowane modele można dostroić za pomocą uczenia transferu, nawet jeśli nie jest dostępna duża liczba obrazów szkoleniowych. Jest dostępny przez SageMaker wbudowane algorytmy jak również poprzez Interfejs programu SageMaker JumpStart wewnątrz Studio Amazon SageMaker. Aby uzyskać więcej informacji, zapoznaj się z jego dokumentacją Klasyfikacja obrazów – TensorFlow i przykładowy notatnik Wprowadzenie do SageMaker TensorFlow — klasyfikacja obrazów.
Klasyfikacja obrazów za pomocą TensorFlow w programie SageMaker zapewnia naukę transferu w wielu wstępnie wytrenowanych modelach dostępnych w TensorFlow Hub. Zgodnie z liczbą etykiet klas w danych uczących warstwa klasyfikacji jest dołączona do wstępnie wytrenowanego modelu TensorFlow Hub. Warstwa klasyfikacyjna składa się z warstwy usuwanej i warstwy gęstej, która jest w pełni połączoną warstwą z 2-normowym regulatorem, który jest inicjowany losowymi wagami. Trening modelu ma hiperparametry dotyczące wskaźnika porzucania warstwy porzucania i współczynnika regularyzacji L2 dla warstwy gęstej. Następnie można dostroić całą sieć, w tym wstępnie wytrenowany model, lub tylko najwyższą warstwę klasyfikacji na nowych danych uczących. W tym trybie uczenia transferu można przeprowadzić szkolenie nawet przy mniejszym zbiorze danych.
Jak korzystać z nowego algorytmu klasyfikacji obrazów TensorFlow
W tej sekcji opisano, jak korzystać z algorytmu klasyfikacji obrazów TensorFlow z: SageMaker SDK dla Pythona. Aby uzyskać informacje o tym, jak z niego korzystać w interfejsie użytkownika Studio, zobacz SageMaker Szybki start.
Algorytm obsługuje uczenie transferu dla wstępnie wytrenowanych modeli wymienionych w Modele z piastą TensorFlow. Każdy model jest oznaczony unikalnym model_id
. Poniższy kod pokazuje, jak dostroić MobileNet V2 1.00 224 identyfikowany przez model_id
tensorflow-ic-imagenet-mobilenet-v2-100-224-classification-4
na niestandardowym zestawie danych treningowych. Dla każdego model_id
, w celu uruchomienia zadania szkoleniowego SageMaker poprzez Taksator klasy SageMaker Python SDK, musisz pobrać identyfikator URI obrazu platformy Docker, identyfikator URI skryptu szkoleniowego i wstępnie wytrenowany identyfikator URI modelu za pomocą funkcji narzędziowych dostępnych w programie SageMaker. Identyfikator URI skryptu szkoleniowego zawiera cały kod niezbędny do przetwarzania danych, ładowania wstępnie wytrenowanego modelu, trenowania modelu i zapisywania przeszkolonego modelu do wnioskowania. Wstępnie wytrenowany identyfikator URI modelu zawiera wstępnie wytrenowaną definicję architektury modelu i parametry modelu. Należy zauważyć, że identyfikator URI obrazu platformy Docker i identyfikator URI skryptu szkoleniowego są takie same dla wszystkich modeli klasyfikacji obrazów TensorFlow. Wstępnie wytrenowany identyfikator URI modelu jest specyficzny dla konkretnego modelu. Wstępnie wytrenowane archiwum modeli zostały wstępnie pobrane z TensorFlow Hub i zapisane z odpowiednią sygnaturą modelu w Usługa Amazon Simple Storage (Amazon S3), dzięki czemu zadanie szkoleniowe działa w izolacji sieciowej. Zobacz następujący kod:
Dzięki tym artefaktom treningowym specyficznym dla modelu można skonstruować obiekt Taksator klasa:
Następnie, w celu przeniesienia uczenia się na niestandardowym zestawie danych, może być konieczna zmiana domyślnych wartości hiperparametrów uczenia, które są wymienione w Hiperparametry. Możesz pobrać słownik Pythona tych hiperparametrów z ich domyślnymi wartościami, wywołując hyperparameters.retrieve_default
, zaktualizuj je w razie potrzeby, a następnie przekaż je do klasy Estimator. Zauważ, że wartości domyślne niektórych hiperparametrów są różne dla różnych modeli. W przypadku dużych modeli domyślny rozmiar partii jest mniejszy, a train_only_top_layer
hiperparametr jest ustawiony na True
. Hiperparametr Train_only_top_layer
definiuje, które parametry modelu zmieniają się podczas procesu dostrajania. Jeśli train_only_top_layer
is True
, parametry warstw klasyfikacyjnych zmieniają się, a reszta parametrów pozostaje stała podczas procesu dostrajania. Z drugiej strony, jeśli train_only_top_layer
is False
, wszystkie parametry modelu są dostrojone. Zobacz następujący kod:
Poniższy kod zawiera domyślny treningowy zestaw danych hostowany w zasobnikach S3. Zapewniamy tf_flowers
dataset jako domyślny zestaw danych do dostrajania modeli. Zestaw danych zawiera obrazy pięciu rodzajów kwiatów. Zbiór danych został pobrany z TensorFlow pod Licencja Apache 2.0.
Na koniec, aby uruchomić zadanie szkoleniowe SageMaker w celu dostrojenia modelu, zadzwoń .fit
na obiekcie klasy Estimator, przekazując lokalizację S3 zestawu danych uczących:
Aby uzyskać więcej informacji na temat używania nowego algorytmu klasyfikacji obrazów SageMaker TensorFlow do uczenia transferu w niestandardowym zestawie danych, wdrażania modelu dostrojonego, uruchamiania wnioskowania na wdrożonym modelu i wdrażania wstępnie wytrenowanego modelu bez uprzedniego dostrajania w niestandardowym zestawie danych zobacz następujący przykładowy notatnik: Wprowadzenie do SageMaker TensorFlow — klasyfikacja obrazów.
Interfejs wejścia/wyjścia dla algorytmu klasyfikacji obrazów TensorFlow
Możesz dostroić każdy z przeszkolonych modeli wymienionych w Modele z piastą TensorFlow do dowolnego zestawu danych zawierającego obrazy należące do dowolnej liczby klas. Celem jest zminimalizowanie błędu predykcji w danych wejściowych. Model zwrócony przez dostrajanie może być dalej wdrażany do celów wnioskowania. Poniżej znajdują się instrukcje dotyczące formatowania danych uczących w celu wprowadzenia ich do modelu:
- Wkład – Katalog zawierający tyle podkatalogów, ile jest klas. Każdy podkatalog powinien zawierać obrazy należące do tej klasy w formacie .jpg, .jpeg lub .png.
- Wydajność – Dopracowany model, który można wdrożyć do wnioskowania lub można go dalej szkolić za pomocą szkolenia przyrostowego. Sygnatura przetwarzania wstępnego i przetwarzania końcowego jest dodawana do dostrojonego modelu, tak aby pobierał nieprzetworzony obraz .jpg jako dane wejściowe i zwracał prawdopodobieństwa klas. Wraz z modelami zapisywany jest plik mapujący indeksy klas do etykiet klas.
Katalog wejściowy powinien wyglądać jak w poniższym przykładzie, jeśli dane szkoleniowe zawierają obrazy z dwóch klas: roses
i dandelion
. Ścieżka S3 powinna wyglądać s3://bucket_name/input_directory/
. Zwróć uwagę na końcowe /
jest wymagane. Nazwy folderów i roses
, dandelion
, a nazwy plików .jpg mogą być dowolne. Plik mapowania etykiet, który jest zapisywany wraz z przeszkolonym modelem w zasobniku S3, mapuje nazwy folderów róże i mniszek lekarski na indeksy na liście prawdopodobieństw klas, które dane wyjściowe modelu. Mapowanie odbywa się w kolejności alfabetycznej nazw folderów. W poniższym przykładzie indeks 0 na liście danych wyjściowych modelu odpowiada dandelion
, a indeks 1 odpowiada roses
.
Wnioskowanie z algorytmem klasyfikacji obrazów TensorFlow
Wygenerowane modele mogą być hostowane w celu wnioskowania i obsługi zakodowanych formatów obrazów .jpg, .jpeg i .png jako application/x-image
Typ zawartości. Obraz wejściowy jest automatycznie zmieniany. Dane wyjściowe zawierają wartości prawdopodobieństwa, etykiety klas dla wszystkich klas oraz przewidywaną etykietę odpowiadającą indeksowi klasy o najwyższym prawdopodobieństwie, zakodowane w formacie JSON. Model klasyfikacji obrazów TensorFlow przetwarza jeden obraz na żądanie i generuje tylko jeden wiersz w pliku JSON. Poniżej znajduje się przykład odpowiedzi w formacie JSON:
If accept
jest ustawione na application/json
, wtedy model wyprowadza tylko prawdopodobieństwa. Więcej informacji na temat szkolenia i wnioskowania można znaleźć w przykładowym notatniku Wprowadzenie do SageMaker TensorFlow — klasyfikacja obrazów.
Korzystaj z wbudowanych algorytmów programu SageMaker w interfejsie użytkownika JumpStart
Możesz także użyć klasyfikacji obrazów SageMaker TensorFlow i dowolnego innego wbudowanego algorytmu za pomocą kilku kliknięć za pomocą interfejsu użytkownika JumpStart. JumpStart to funkcja programu SageMaker, która umożliwia trenowanie i wdrażanie wbudowanych algorytmów i wstępnie wytrenowanych modeli z różnych platform ML i centrów modeli za pośrednictwem interfejsu graficznego. Umożliwia także wdrażanie w pełni rozwiniętych rozwiązań ML, które łączą modele ML i różne inne usługi AWS w celu rozwiązania docelowego przypadku użycia. Kasy Uruchom klasyfikację tekstu za pomocą Amazon SageMaker JumpStart, korzystając z modeli TensorFlow Hub i Hugging Face aby dowiedzieć się, jak używać JumpStart do trenowania algorytmu lub wstępnie wytrenowanego modelu za pomocą kilku kliknięć.
Wnioski
W tym poście ogłosiliśmy uruchomienie wbudowanego algorytmu klasyfikacji obrazów SageMaker TensorFlow. Dostarczyliśmy przykładowy kod, jak wykonać uczenie transferu na niestandardowym zestawie danych przy użyciu wstępnie wytrenowanego modelu z TensorFlow Hub przy użyciu tego algorytmu. Aby uzyskać więcej informacji, sprawdź dokumentacja oraz przykładowy notatnik.
O autorach
Dr Ashish Khetan jest Starszym Naukowcem Stosowanym z Wbudowane algorytmy Amazon SageMaker i pomaga rozwijać algorytmy uczenia maszynowego. Doktoryzował się na University of Illinois Urbana-Champaign. Jest aktywnym badaczem uczenia maszynowego i wnioskowania statystycznego, opublikował wiele artykułów na konferencjach NeurIPS, ICML, ICLR, JMLR, ACL i EMNLP.
Dr Vivek Madan jest naukowcem z Zespół Amazon SageMaker JumpStart. Doktoryzował się na University of Illinois Urbana-Champaign i był badaczem podoktoranckim w Georgia Tech. Jest aktywnym badaczem uczenia maszynowego i projektowania algorytmów, publikował artykuły na konferencjach EMNLP, ICLR, COLT, FOCS i SODA.
Joao Moura jest specjalistą ds. rozwiązań AI/ML w Amazon Web Services. Koncentruje się głównie na przypadkach użycia NLP i pomaga klientom zoptymalizować szkolenie i wdrażanie modelu uczenia głębokiego. Jest również aktywnym zwolennikiem rozwiązań ML typu low-code oraz sprzętu wyspecjalizowanego w ML.
Raju Penmatcha jest starszym architektem rozwiązań AI/ML w AWS. Współpracuje z klientami edukacyjnymi, rządowymi i non-profit przy projektach związanych z uczeniem maszynowym i sztuczną inteligencją, pomagając im tworzyć rozwiązania przy użyciu AWS. Kiedy nie pomaga klientom, lubi podróżować do nowych miejsc.
- AI
- ai sztuka
- generator sztuki ai
- masz robota
- Amazon Sage Maker
- sztuczna inteligencja
- certyfikacja sztucznej inteligencji
- sztuczna inteligencja w bankowości
- robot sztucznej inteligencji
- roboty sztucznej inteligencji
- oprogramowanie sztucznej inteligencji
- Uczenie maszynowe AWS
- blockchain
- konferencja blockchain ai
- pomysłowość
- sztuczna inteligencja konwersacyjna
- konferencja kryptograficzna
- Dall's
- głęboka nauka
- google to
- uczenie maszynowe
- plato
- Platon Ai
- Analiza danych Platona
- Gra Platona
- PlatoDane
- platogaming
- skala ai
- składnia
- zefirnet