Configurar el modelo previamente entrenado de AWS SageMaker
Warren Marusiak
Divulgador técnico sénior
Para demostrar cómo desarrollar, implementar y gestionar aplicaciones con Jira Software y varias herramientas conectadas, nuestro equipo creó ImageLabeller, una sencilla aplicación de demostración creada con AWS que utiliza el aprendizaje automático para aplicar etiquetas a las imágenes.
Esta página explica cómo configurar un modelo predefinido de AWS SageMaker, un requisito previo para que ImageLabeller procese las imágenes correctamente. Antes de empezar, te recomendamos que leas la arquitectura de ImageLabeller para ver el contexto.
Inicia sesión en la consola de AWS y navega hasta Amazon SageMaker.
Ve a Amazon SageMaker Studio.
Elige Inicio rápido > Rol de ejecución > Crear un rol de IAM.
Haz clic en Create role (Crear rol). Luego haz clic en Submit (Enviar).
SageMaker tardará un tiempo en configurarse. Cuando esté listo, haz clic en Open Studio (Abrir Studio).
Haz clic en Go to SageMaker JumpStart (Ir a SageMaker JumpStart).
Busca y haz clic en Inception V3.
Cambia el Machine Type (Tipo de máquina) a ml.m5.large, cambia el Endpoint Name (Nombre del endpoint) por algo más legible, como "image-labeller-endpoint" y haz clic en Deploy (Implementar).
AWS SageMaker empezará a implementar el modelo.
Haz clic en Open Notebook (Abrir bloc de notas) cuando finalice la implementación.
Ejecuta los tres bloques de código del bloc de notas para comprobar que todo funciona. Anota el nombre del endpoint en query_endpoint. Tienes que añadir esto y la región en la que se encuentra tu bloc de notas de AWS SageMaker en la AWS Lambda de InvokeLabeller.
Para obtener información sobre cómo utilizar los blocs de notas Jupyter, consulta la documentación.
Abre el archivo src/app.py de InvokeLabeller y busca query_endpoint. Cambia el endpoint_name y el region_name del cliente para que coincidan con tu bloc de notas de 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
Compartir este artículo
Tema siguiente
Lecturas recomendadas
Consulta estos recursos para conocer los tipos de equipos de DevOps o para estar al tanto de las novedades sobre DevOps en Atlassian.