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.
Ten post jest drugim z serii na temat nowych wbudowanych algorytmów w SageMakerze. w pierwszy post, pokazaliśmy, jak SageMaker zapewnia wbudowany algorytm klasyfikacji obrazów. Dziś ogłaszamy, że SageMaker udostępnia nowy wbudowany algorytm wykrywania obiektów za pomocą TensorFlow. Ten nadzorowany algorytm uczenia obsługuje uczenie transferu dla wielu wstępnie wytrenowanych modeli dostępnych w TensorFlow. Pobiera obraz jako wejście i wyprowadza obiekty obecne na obrazie wraz z obwiedniami. 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 in Studio Amazon SageMaker. Aby uzyskać więcej informacji, zobacz Przepływ tensorowy wykrywania obiektów i przykładowy notatnik Wprowadzenie do SageMaker Tensorflow – Wykrywanie obiektów.
Wykrywanie obiektó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 nowa, losowo inicjowana głowica wykrywania obiektów zastępuje istniejącą głowicę modelu TensorFlow. Cała sieć, w tym wstępnie wytrenowany model, lub tylko górna warstwa (głowica wykrywania obiektów) może zostać dostrojona na podstawie nowych danych uczących. W tym trybie uczenia transferu można przeprowadzić szkolenie nawet przy mniejszym zbiorze danych.
Jak korzystać z nowego algorytmu wykrywania obiektów TensorFlow
W tej sekcji opisano, jak korzystać z algorytmu wykrywania obiektó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 TensorFlow. Każdy model jest oznaczony unikalnym model_id
. Poniższy kod pokazuje, jak dostroić model FPN ResNet50 V1 zidentyfikowany przez model_id
tensorflow-od1-ssd-resnet50-v1-fpn-640x640-coco17-tpu-8
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 wykrywania obiektó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 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:
Zapewniamy Zbiór danych PennFudanPed jako domyślny zbiór danych do dostrajania modeli. Zbiór danych zawiera obrazy pieszych. Poniższy kod zawiera domyślny treningowy zbiór danych hostowany w zasobnikach S3:
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 o tym, jak używać nowego algorytmu wykrywania obiektów SageMaker TensorFlow do uczenia transferu w niestandardowym zestawie danych, wdrażać model dostrojony, uruchamiać wnioskowanie na wdrożonym modelu i wdrażać wstępnie wytrenowany model bez uprzedniego dostrajania w niestandardowym zestawie danych zobacz następujący przykładowy notatnik: Wprowadzenie do SageMaker TensorFlow – Wykrywanie obiektów.
Interfejs wejścia/wyjścia dla algorytmu wykrywania obiektów TensorFlow
Możesz dostroić każdy z przeszkolonych modeli wymienionych w Modele 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 z obrazami podkatalogów i plikiem
annotations.json
. - Wydajność – Istnieją dwa wyjścia. Pierwszy to model dostrojony, który można wdrożyć do wnioskowania lub dalej trenować przy użyciu szkolenia przyrostowego. Drugi to plik, który odwzorowuje indeksy klas na etykiety klas; jest to zapisywane wraz z modelem.
Katalog wejściowy powinien wyglądać jak w poniższym przykładzie:
Połączenia annotations.json
plik powinien zawierać informacje dla bounding_boxes
i ich etykiety klasowe. Powinien mieć słownik z klawiszami "images"
i "annotations"
. Wartość "images"
klucz powinien być listą wpisów, po jednym dla każdego obrazu formularza {"file_name": image_name, "height": height, "width": width, "id": image_id}
, Wartość "annotations"
klucz powinien być listą wpisów, po jednym dla każdego obwiedni formularza {"image_id": image_id, "bbox": [xmin, ymin, xmax, ymax], "category_id": bbox_label}
.
Wnioskowanie z algorytmem wykrywania obiektó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ą pola, przewidywane klasy i wyniki dla każdej prognozy. Model wykrywania obiektó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
, model wyprowadza tylko przewidywane pola, klasy i wyniki. Więcej informacji na temat szkolenia i wnioskowania można znaleźć w przykładowym notatniku Wprowadzenie do SageMaker TensorFlow – Wykrywanie obiektów.
Korzystaj z wbudowanych algorytmów programu SageMaker w interfejsie użytkownika JumpStart
Możesz także użyć wykrywania obiektów SageMaker TensorFlow i dowolnych innych wbudowanych algorytmów za pomocą kilku kliknięć za pośrednictwem 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.
Poniżej znajdują się dwa filmy wideo, które pokazują, jak można odtworzyć ten sam proces dostrajania i wdrażania, który właśnie przeszliśmy, za pomocą kilku kliknięć za pomocą interfejsu użytkownika JumpStart.
Dostosuj wstępnie wytrenowany model
Oto proces dostrajania tego samego wstępnie wytrenowanego modelu wykrywania obiektów.
Wdróż dopracowany model
Po zakończeniu trenowania modelu można jednym kliknięciem bezpośrednio wdrożyć model w trwałym punkcie końcowym w czasie rzeczywistym.
Wnioski
W tym poście ogłosiliśmy uruchomienie wbudowanego algorytmu wykrywania obiektów SageMaker TensorFlow. Dostarczyliśmy przykładowy kod, jak przeprowadzić uczenie transferu na niestandardowym zestawie danych przy użyciu wstępnie wytrenowanego modelu z TensorFlow przy użyciu tego algorytmu.
Aby uzyskać więcej informacji, sprawdź dokumentacja oraz przykładowy notatnik.
O autorach
Dr Vivek Madan jest naukowcem z Zespół Amazon SageMaker JumpStart. Uzyskał doktorat na Uniwersytecie Illinois w Urbana-Champaign i był badaczem podoktoranckim w Georgia Tech. Jest aktywnym badaczem w dziedzinie 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.
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.
- 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
- Podstawowy (100)
- google to
- uczenie maszynowe
- plato
- Platon Ai
- Analiza danych Platona
- Gra Platona
- PlatoDane
- platogaming
- skala ai
- składnia
- zefirnet