Konfiguracja wstępnie wytrenowanego modelu AWS SageMaker

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 Utwórz rolę. Następnie kliknij przycisk Prześlij.

Konfiguracja rozwiązania SageMaker może potrwać dłuższą chwilę. Po zakończeniu kliknij opcję OtwórzStudio.

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