Как передать запрос мудрецу с помощью почтальона

Я обучил модель на Sagemaker и создал конечную точку. Я пытаюсь вызвать конечную точку с помощью почтальона. Но при обучении модели и даже после этого я не указал заголовок для данных тренировки. Я в растерянности относительно того, как создать полезную нагрузку при отправке почтового запроса в sagemaker

2 ответа

Решение

Как только конечная точка создана, вы можете вызвать ее как любую другую услугу отдыха с учетными данными и полезной нагрузкой.

Я предполагаю, что может быть два места, где можно застрять. Можно было бы отправить фактический запрос PostMan со всеми заголовками и всем остальным. В новой версии Postman AWS Signature является одним из типов авторизации. Вы можете использовать это для вызова службы. Других пространственных заголовков не требуется. Обратите внимание, что в Postman все еще существует ошибка ( выпуск-1663), которая влияет только на вашу учетную запись федерации AWS. Эта проблема не должна затрагивать отдельные учетные записи.

Или вы можете застрять в фактической полезной нагрузке. Когда вы вызываете конечную точку SageMaker, полезная нагрузка передается в модель как есть. Если вы хотите предварительно обработать ввод перед подачей его в модель, вам необходимо реализовать метод input_fn и указать его при создании экземпляра модели.

Вы также можете вызвать конечную точку SageMaker с помощью AWS SDK boto3 следующим образом.

import boto3
runtime= boto3.client('runtime.sagemaker')

payload = getImageData()


result  = runtime.invoke_endpoint(
    EndpointName='my_endpoint_name',
    Body=payload,
    ContentType='image/jpeg'
)

Надеюсь это поможет.

Вот пример вызова конечной точки sagemaker, созданной в руководстве по быстрому запуску. Вы можете позвонить, используя text/csv или же application/json форматы:

В Почтальоне: URL, который вам нужен, - это POST https://runtime.sagemaker/.{{Region}}. Amazonaws.com/endpoints/ndomndomaws_model_name Eventcasts/invocations

На вкладке Авторизация выберите тип AWS Signature и введите значения для вашего AccessKey а также SecretKey (рекомендуем использовать переменные для них), и sagemaker для имени службы.

Под заголовками добавьте:

Content-Type: text/csv

Accept: application/json

В теле: вставьте ваше тело, разделив запятыми (если вы следуете руководству по быстрому старту, в блокноте вы можете просто запустить print(valid_set[0][60:61]) чтобы получить пример вектора. Вам нужно будет преобразовать этот набор значений в значения, разделенные запятыми

Нажатие кнопки Send и тебе должно быть хорошо идти!

Для отправки данных JSON измените Content-Type в application/json и вы захотите, чтобы структура выглядела так:

{
    "instances":[
        {
            "configuration": {},
            "features": [...]
        }
     ]
}
Другие вопросы по тегам