Artykuły
Samouczki
Interaktywne przewodniki
Konfiguracja wstępnie wytrenowanego modelu AWS SageMaker
Warren Marusiak
Starszy propagator techniczny
Aby zademonstrować sposób opracowywania i wdrażania aplikacji oraz zarządzania nimi przy użyciu Jira Software oraz różnych połączonych narzędzi, nasz zespół utworzył ImageLabeller, prostą aplikację demonstracyjną opartą na usłudze AWS, która wykorzystuje uczenie maszynowe do oznaczania etykietami obrazów.
Na tej stronie opisano, jak skonfigurować wstępnie zdefiniowany model AWS SageMaker wymagany, aby aplikacja ImageLabeller mogła skutecznie przetwarzać obrazy. Przed rozpoczęciem najlepiej zapoznać się ze stroną na temat architektury aplikacji ImageLabeller, aby uzyskać kontekst.
Zaloguj się do konsoli AWS i przejdź do Amazon SageMaker.
Przejdź do Amazon SageMaker Studio.
Wybierz kolejno opcje Quick start > Execution role > Create an IAM role (Szybki start > Rola wykonawcza > Utwórz rolę IAM).
Kliknij przycisk Create role (Utwórz rolę). Następnie kliknij przycisk Submit (Prześlij).
Konfiguracja rozwiązania SageMaker może potrwać dłuższą chwilę. Po zakończeniu kliknij opcję Open Studio (Otwórz studio).
Kliknij opcję Go to SageMaker JumpStart (Przejdź do SageMaker JumpStart).
Wyszukaj i kliknij pozycję Inception V3.
Zmień ustawienie Machine Type (Typ maszyny) na ml.m5.large, zmień ustawienie Endpoint Name (Nazwa punktu końcowego) na bardziej znaczące, np. „image-labeller-endpoint”, a następnie kliknij przycisk Deploy (Wdróż).
AWS SageMaker rozpocznie wdrażanie modelu.
Po zakończeniu wdrażania kliknij przycisk Open Notebook (Otwórz notes).
Uruchom wszystkie trzy bloki kodu notesu, aby sprawdzić, czy wszystko działa. Zanotuj wartość endpoint_name w funkcji query_endpoint.Trzeba będzie dodać tę wartość oraz region przechowywania notesu AWS SageMaker do funkcji AWS Lambda InvokeLabeller.
Informacje na temat korzystania z notesów Jupyter można znaleźć w dokumentacji.
Otwórz plik src/app.py w repozytorium InvokeLabeller i wyszukaj pozycję query_endpoint. Zmień wartości endpoint_name i client region_name zgodnie z notesem AWS SageMaker.
def query_endpoint(img):
endpoint_name = 'jumpstart-dft-image-labeller-endpoint'
client = boto3.client(service_name='runtime.sagemaker', region_name='us-west-1')
response = client.invoke_endpoint(EndpointName=endpoint_name, ContentType='application/x-image', Body=img)
model_predictions = json.loads(response['Body'].read())['predictions'][0]
return model_predictions
Udostępnij ten artykuł
Następny temat
Zalecane lektury
Dodaj te zasoby do zakładek, aby dowiedzieć się więcej na temat rodzajów zespołów DevOps lub otrzymywać aktualności na temat metodyki DevOps w Atlassian.