Close

Настройка предварительно обученной модели AWS SageMaker

Фото Уоррена Марусяка
Уоррен Марусяк

Старший технический эксперт

Чтобы продемонстрировать, как разрабатывать и развертывать приложения, а также управлять ими с помощью Jira Software и различных подключенных инструментов, наша команда создала ImageLabeller — простое демонстрационное приложение на платформе AWS, которое с помощью машинного обучения наносит метки на изображения.

На этой странице рассказывается, как настроить предопределенную модель AWS SageMaker, необходимую для успешной обработки изображений в ImageLabeller. Прежде чем начать, рекомендуем ознакомиться с архитектурой ImageLabeller в качестве контекста.


Войдите в консоль AWS и перейдите к Amazon SageMaker.

Снимок экрана: консоль AWS

Перейдите в Amazon SageMaker Studio.

Снимок экрана: Amazon SageMaker Studio

Выберите Quick start > Execution role > Create an IAM role (Быстрый запуск > Роль исполнения > Создать роль IAM).

Снимок экрана: быстрый запуск

Нажмите Create role (Создать роль), а затем — Submit (Отправить).

Снимок экрана: создание роли IAM

Настройка SageMaker займет некоторое время. Когда все будет готово, нажмите Open Studio (Открыть Studio).

Снимок экрана: после настройки

Нажмите Go to SageMaker JumpStart (Перейти к SageMaker JumpStart).

Снимок экрана: SageMaker JumpStart

Найдите и нажмите панель Inception V3.

Снимок экрана: модели зрения

Измените Machine Type (Тип компьютера) на ml.m5.large, а также Endpoint Name (Имя конечной точки) на более читаемое, например image-labeller-endpoint, после чего нажмите Deploy (Развернуть).

Снимок экрана: модель развертывания

AWS SageMaker начнет развертывание модели.

Снимок экрана: начало развертывания

По завершении развертывания нажмите Open Notebook (Открыть блокнот).

Снимок экрана: состояние конечной точки

Запустите все три блока кода в блокноте и убедитесь, что они работают должным образом. Обратите внимание на имя конечной точки endpoint_name в определении query_endpoint. Его вместе с регионом, в котором находится ваш блокнот AWS SageMaker, нужно будет добавить в InvokeLabeller AWS Lambda.

Информацию об использовании блокнотов Jupyter можно найти в документации.

Снимок экрана: запрос к конечной точке

Откройте файл src/app.py для InvokeLabeller и найдите определение query_endpoint. Измените значения endpoint_name и region_name, чтобы они соответствовали указанным в блокноте 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

По завершении настройки SageMaker следующим шагом будет развертывание ImageLabeller в Bitbucket, GitHub или 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.


Поделитесь этой статьей

Рекомендуемые статьи

Добавьте эти ресурсы в закладки, чтобы изучить типы команд DevOps или получать регулярные обновления по DevOps в Atlassian.

Рисунок: DevOps

Сообщество DevOps

Рисунок: DevOps

Образовательные программы DevOps

Рисунок схемы

Начните работу бесплатно

Подпишитесь на информационную рассылку по DevOps

Thank you for signing up