Close

Konfiguracja wstępnie wytrenowanego modelu AWS SageMaker

Warren Marusiak — zdjęcie portretowe
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.

Zrzut ekranu konsoli AWS

Przejdź do Amazon SageMaker Studio.

Zrzut ekranu Amazon SageMaker Studio

Wybierz kolejno opcje Quick start > Execution role > Create an IAM role (Szybki start > Rola wykonawcza > Utwórz rolę IAM).

Zrzut ekranu Szybki start

Kliknij przycisk Create role (Utwórz rolę). Następnie kliknij przycisk Submit (Prześlij).

Zrzut ekranu tworzenia roli IAM

Konfiguracja rozwiązania SageMaker może potrwać dłuższą chwilę. Po zakończeniu kliknij opcję Open Studio (Otwórz studio).

Zrzut ekranu po skonfigurowaniu

Kliknij opcję Go to SageMaker JumpStart (Przejdź do SageMaker JumpStart).

Zrzut ekranu SageMaker JumpStart

Wyszukaj i kliknij pozycję Inception V3.

Zrzut ekranu modeli wizyjnych

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óż).

Zrzut ekranu modelu wdrożenia

AWS SageMaker rozpocznie wdrażanie modelu.

Zrzut ekranu rozpoczęcia wdrożenia

Po zakończeniu wdrażania kliknij przycisk Open Notebook (Otwórz notes).

Zrzut ekranu statusu punktu końcowego

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.

Zrzut ekranu zapytania do punktu końcowego

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

Po zakończeniu konfiguracji SageMaker następnym krokiem jest wdrożenie aplikacji ImageLabeller przy użyciu rozwiązania Bitbucket, GitHub lub GitLab.

Warren Marusiak
Warren Marusiak

Warren is a Canadian developer from Vancouver, BC with over 10 years of experience. He came to Atlassian from AWS in January of 2021.


Udostępnij ten artykuł

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.

Ilustracja DevOps

Społeczność DevOps

Ilustracja DevOps

Ścieżka szkoleniowa DevOps

Ilustracja przedstawiająca mapę

Zacznij korzystać za darmo

Zapisz się do newslettera DevOps

Thank you for signing up