Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Comprobación previa del contenedor de modelos

Modo de enfoque
Comprobación previa del contenedor de modelos - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Esta sección le muestra cómo realizar la comprobación previa de la compatibilidad de las entradas y salidas del contenedor de modelos antes de configurar un punto de conexión. La explicación SageMaker de Clarify es independiente del modelo, pero tiene requisitos para la entrada y salida del contenedor del modelo.

nota

Puede aumentar la eficiencia si configura su contenedor para que admita solicitudes por lotes, que admiten dos o más registros en una sola solicitud. Por ejemplo, un único registro es una sola línea de datos CSV o una sola línea de datos JSON Lines. SageMaker Clarify intentará enviar primero un minilote de registros al contenedor modelo antes de recurrir a solicitudes de registro único.

Entrada del contenedor de modelos

CSV

El contenedor de modelos admite entradas en CSV con el tipo MIME: text/csv. La siguiente tabla muestra ejemplos de entradas compatibles con SageMaker Clarify.

Entrada del contenedor de modelos (representación de cadena) Comentarios

'1,2,3,4'

Registro único que utiliza cuatro características numéricas.

'1,2,3,4\n5,6,7,8'

Dos registros, separados por un salto de línea '\n'.

'"Este es un buen producto",5'

Registro único que contiene una característica de texto y una característica numérica.

‘"Este es un buen producto",5\n"Mala experiencia de compra",1'

Dos registros.

JSON Lines

SageMaker AI también admite la entrada en formato denso de líneas JSON con el tipo MIME:application/jsonlines, como se muestra en la siguiente tabla.

Entrada del contenedor de modelos Comentarios

'{"datos":{"características":[1,2,3,4]}}'

Registro único; se puede extraer una lista de características por JMESPath expresióndata.features.

'{"datos":{"características":[1,2,3,4]}}\n{"datos":{"características":[5,6,7,8]}}'

Dos registros.

'{"características":["Este es un buen producto",5]}'

Registro único; se puede extraer una lista de características mediante una JMESPath expresiónfeatures.

'{"características":["Este es un buen producto",5]}\n{"características":["Mala experiencia de compra",1]}'

Dos registros.

El contenedor de modelos admite entradas en CSV con el tipo MIME: text/csv. La siguiente tabla muestra ejemplos de entradas compatibles con SageMaker Clarify.

Entrada del contenedor de modelos (representación de cadena) Comentarios

'1,2,3,4'

Registro único que utiliza cuatro características numéricas.

'1,2,3,4\n5,6,7,8'

Dos registros, separados por un salto de línea '\n'.

'"Este es un buen producto",5'

Registro único que contiene una característica de texto y una característica numérica.

‘"Este es un buen producto",5\n"Mala experiencia de compra",1'

Dos registros.

Salida del contenedor de modelos

La salida del contenedor de modelos también debe estar en formato denso CSV o JSON Lines. Además, el contenedor del modelo debe incluir las probabilidades de los registros de entrada, que SageMaker Clarify utiliza para calcular las atribuciones de las características.

Los siguientes ejemplos de datos son para salidas de contenedores de modelos en formato CSV.

Probability only

En el caso de problemas de regresión y clasificación binaria, el contenedor de modelos genera un único valor de probabilidad (puntuación) de la etiqueta predicha. Estas probabilidades se pueden extraer utilizando el índice de columna 0. En el caso de problemas con varias clases, el contenedor de modelos genera una lista de probabilidades (puntuaciones). En el caso de problemas con varias clases, si no se proporciona ningún índice, se extraen todos los valores.

Entrada del contenedor de modelos Salida del contenedor de modelos (representación de cadena)

Registro único

'0,6'

Dos registros (resultados en una línea)

'0,6,0,3'

Dos registros (resultados en dos líneas)

'0,6\n0,3'

Registro único de un modelo multiclase (tres clases)

'0,1,0,6,0,3'

Dos registros de un modelo multiclase (tres clases)

'0,1,0,6,0,3\n0,2,0,5,0,3'

Predicted label and probabilities

El contenedor de modelos genera la etiqueta predicha seguida de su probabilidad en formato CSV. Estas probabilidades se pueden extraer utilizando el índice 1.

Entrada del contenedor de modelos Salida del contenedor de modelos

Registro único

'1,0,6'

Dos registros

'1,0,6\n0,0,3'

Predicted labels header and probabilities

Se puede configurar un contenedor de modelos multiclase entrenado por el piloto automático para que genere la representación en cadena de la lista de etiquetas y probabilidades predichas en formato CSV. En el siguiente ejemplo, las probabilidades se pueden extraer mediante el índice 1. Los encabezados de las etiquetas se pueden extraer mediante el índice 1, y los encabezados de las etiquetas se pueden extraer utilizando el índice 0.

Entrada del contenedor de modelos Salida del contenedor de modelos

Registro único

'"[\'gato\',\'perro\',\'pez\']","[0,1,0,6,0,3]"'

Dos registros

'"[\'gato\',\'perro\',\'pez\']","[0,1,0,6,0,3]"\n"[\'gato\',\'perro\',\'pez\']","[0,2,0,5,0,3]"'

En el caso de problemas de regresión y clasificación binaria, el contenedor de modelos genera un único valor de probabilidad (puntuación) de la etiqueta predicha. Estas probabilidades se pueden extraer utilizando el índice de columna 0. En el caso de problemas con varias clases, el contenedor de modelos genera una lista de probabilidades (puntuaciones). En el caso de problemas con varias clases, si no se proporciona ningún índice, se extraen todos los valores.

Entrada del contenedor de modelos Salida del contenedor de modelos (representación de cadena)

Registro único

'0,6'

Dos registros (resultados en una línea)

'0,6,0,3'

Dos registros (resultados en dos líneas)

'0,6\n0,3'

Registro único de un modelo multiclase (tres clases)

'0,1,0,6,0,3'

Dos registros de un modelo multiclase (tres clases)

'0,1,0,6,0,3\n0,2,0,5,0,3'

Los siguientes ejemplos de datos son para salidas del contenedor de modelos en formato JSON Lines.

Probability only

En este ejemplo, el contenedor de modelos genera la probabilidad que se puede extraer mediante una expresión de JMESPath score en formato JSON Lines.

Entrada del contenedor de modelos Salida del contenedor de modelos

Registro único

'{"puntuación":0,6}'

Dos registros

'{"puntuación":0,6}\n{"puntuación":0,3}'

Predicted label and probabilities

En este ejemplo, un contenedor de modelos multiclase genera una lista de encabezados de etiquetas junto con una lista de probabilidades en formato JSON Lines. Las probabilidades se pueden extraer mediante la expresión de JMESPath probability y los encabezados de las etiquetas se pueden extraer mediante la expresión de JMESPath predicted labels.

Entrada del contenedor de modelos Salida del contenedor de modelos

Registro único

'{"etiquetas_predichas":["gato","perro","pez"],"probabilidades":[0,1,0,6,0,3]}'

Dos registros

'{"etiquetas_predichas":["gato","perro","pez"],"probabilidades":[0,1,0,6,0.3]}\n{"etiquetas_predichas":["gato","perro","pez"],"probabilidades":[0,2,0,5,0,3]}'

Predicted labels header and probabilities

En este ejemplo, un contenedor de modelos multiclase genera una lista de encabezados de etiquetas y probabilidades en formato JSON Lines. Las probabilidades se pueden extraer mediante la expresión de JMESPath probability y los encabezados de las etiquetas se pueden extraer mediante la expresión de JMESPath predicted labels.

Entrada del contenedor de modelos Salida del contenedor de modelos

Registro único

'{"etiquetas_predichas":["gato","perro","pez"],"probabilidades":[0,1,0,6,0,3]}'

Dos registros

'{"etiquetas_predichas":["gato","perro","pez"],"probabilidades":[0,1,0,6,0.3]}\n{"etiquetas_predichas":["gato","perro","pez"],"probabilidades":[0,2,0,5,0,3]}'

En este ejemplo, el contenedor de modelos genera la probabilidad que se puede extraer mediante una expresión de JMESPath score en formato JSON Lines.

Entrada del contenedor de modelos Salida del contenedor de modelos

Registro único

'{"puntuación":0,6}'

Dos registros

'{"puntuación":0,6}\n{"puntuación":0,3}'

Validación del contenedor de modelos

Le recomendamos que implemente su modelo en un punto final de inferencia en tiempo real de la SageMaker IA y que envíe las solicitudes al punto final. Examine manualmente las solicitudes (entradas del contenedor de modelos) y las respuestas (salidas del contenedor de modelos) para asegurarse de que ambas cumplan con los requisitos de las secciones Entrada del contenedor de modelos y Salida del contenedor de modelos. Si el contenedor de modelos admite solicitudes por lotes, puede empezar con una sola solicitud de registro y, a continuación, probar con dos o más registros.

En los siguientes comandos se muestra cómo solicitar una respuesta mediante la AWS CLI. Viene AWS CLI preinstalado en las instancias de SageMaker Studio Classic y SageMaker Notebook. Si necesita instalar el AWS CLI, siga esta guía de instalación.

aws sagemaker-runtime invoke-endpoint \ --endpoint-name $ENDPOINT_NAME \ --content-type $CONTENT_TYPE \ --accept $ACCEPT_TYPE \ --body $REQUEST_DATA \ $CLI_BINARY_FORMAT \ /dev/stderr 1>/dev/null

Los parámetros se definen como sigue:

  • $ENDPOINT NAME: el nombre del punto de conexión.

  • $CONTENT_TYPE: el tipo MIME de la solicitud (entrada del contenedor de modelos).

  • $ACCEPT_TYPE: el tipo MIME de la respuesta (salida del contenedor de modelos).

  • $REQUEST_DATA: la cadena de carga solicitada.

  • $CLI_BINARY_FORMAT: el formato del parámetro de la interfaz de la línea de comandos (CLI). Para la AWS CLI versión 1, este parámetro debe permanecer en blanco. En la versión 2, este parámetro debe establecerse en --cli-binary-format raw-in-base64-out.

En los ejemplos siguientes se utiliza v1: AWS CLI

Request and response in CSV format
  • La solicitud consta de un único registro y la respuesta es su valor de probabilidad.

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-sagemaker-xgboost-model \ --content-type text/csv \ --accept text/csv \ --body '1,2,3,4' \ /dev/stderr 1>/dev/null

    Salida:

    0.6

  • La solicitud consta de dos registros, la respuesta incluye sus probabilidades y el modelo separa las probabilidades con una coma. La expresión $'content' en --body indica al comando que debe interpretar \n en el contenido como un salto de línea.

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-sagemaker-xgboost-model \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/null

    Salida:

    0.6,0.3

  • La solicitud consta de dos registros, la respuesta incluye sus probabilidades y el modelo separa las probabilidades con un salto de línea.

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-1 \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/null

    Salida:

    0.6

    0.3

  • La solicitud consta de un único registro y la respuesta son los valores de probabilidad (modelo multiclase, tres clases).

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-1 \ --content-type text/csv \ --accept text/csv \ --body '1,2,3,4' \ /dev/stderr 1>/dev/null

    Salida:

    0.1,0.6,0.3

  • La solicitud consta de dos registros y la respuesta incluye sus valores de probabilidad (modelo multiclase, tres clases).

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-1 \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/null

    Salida:

    0.1,0.6,0.3

    0.2,0.5,0.3

  • La solicitud consta de dos registros y la respuesta incluye la probabilidad y la etiqueta predicha.

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-2 \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/null

    Salida:

    1,0.6

    0,0.3

  • La solicitud consta de dos registros y la respuesta incluye los encabezados de la etiqueta y las probabilidades.

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-3 \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/null

    Salida:

    "['cat','dog','fish']","[0.1,0.6,0.3]"

    "['cat','dog','fish']","[0.2,0.5,0.3]"

Request and response in JSON Lines format
  • La solicitud consta de un único registro y la respuesta es su valor de probabilidad.

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-jsonlines \ --content-type application/jsonlines \ --accept application/jsonlines \ --body '{"features":["This is a good product",5]}' \ /dev/stderr 1>/dev/null

    Salida:

    {"score":0.6}

  • La solicitud contiene dos registros y la respuesta incluye la probabilidad y la etiqueta predicha.

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-jsonlines-2 \ --content-type application/jsonlines \ --accept application/jsonlines \ --body $'{"features":[1,2,3,4]}\n{"features":[5,6,7,8]}' \ /dev/stderr 1>/dev/null

    Salida:

    {"predicted_label":1,"probability":0.6}

    {"predicted_label":0,"probability":0.3}

  • La solicitud contiene dos registros y la respuesta incluye los encabezados de la etiqueta y las probabilidades.

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-jsonlines-3 \ --content-type application/jsonlines \ --accept application/jsonlines \ --body $'{"data":{"features":[1,2,3,4]}}\n{"data":{"features":[5,6,7,8]}}' \ /dev/stderr 1>/dev/null

    Salida:

    {"predicted_labels":["cat","dog","fish"],"probabilities":[0.1,0.6,0.3]}

    {"predicted_labels":["cat","dog","fish"],"probabilities":[0.2,0.5,0.3]}

Request and response in different formats
  • La solicitud está en formato CSV y la respuesta está en formato JSON Lines:

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-in-jsonlines-out \ --content-type text/csv \ --accept application/jsonlines \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/null

    Salida:

    {"probability":0.6}

    {"probability":0.3}

  • La solicitud está en formato JSON Lines y la respuesta está en formato CSV:

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-jsonlines-in-csv-out \ --content-type application/jsonlines \ --accept text/csv \ --body $'{"features":[1,2,3,4]}\n{"features":[5,6,7,8]}' \ /dev/stderr 1>/dev/null

    Salida:

    0.6

    0.3

  • La solicitud consta de un único registro y la respuesta es su valor de probabilidad.

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-sagemaker-xgboost-model \ --content-type text/csv \ --accept text/csv \ --body '1,2,3,4' \ /dev/stderr 1>/dev/null

    Salida:

    0.6

  • La solicitud consta de dos registros, la respuesta incluye sus probabilidades y el modelo separa las probabilidades con una coma. La expresión $'content' en --body indica al comando que debe interpretar \n en el contenido como un salto de línea.

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-sagemaker-xgboost-model \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/null

    Salida:

    0.6,0.3

  • La solicitud consta de dos registros, la respuesta incluye sus probabilidades y el modelo separa las probabilidades con un salto de línea.

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-1 \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/null

    Salida:

    0.6

    0.3

  • La solicitud consta de un único registro y la respuesta son los valores de probabilidad (modelo multiclase, tres clases).

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-1 \ --content-type text/csv \ --accept text/csv \ --body '1,2,3,4' \ /dev/stderr 1>/dev/null

    Salida:

    0.1,0.6,0.3

  • La solicitud consta de dos registros y la respuesta incluye sus valores de probabilidad (modelo multiclase, tres clases).

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-1 \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/null

    Salida:

    0.1,0.6,0.3

    0.2,0.5,0.3

  • La solicitud consta de dos registros y la respuesta incluye la probabilidad y la etiqueta predicha.

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-2 \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/null

    Salida:

    1,0.6

    0,0.3

  • La solicitud consta de dos registros y la respuesta incluye los encabezados de la etiqueta y las probabilidades.

    aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-3 \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/null

    Salida:

    "['cat','dog','fish']","[0.1,0.6,0.3]"

    "['cat','dog','fish']","[0.2,0.5,0.3]"

Una vez finalizadas las validaciones, elimine el punto de conexión de prueba.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.