Как передать запрос мудрецу с помощью почтальона
Я обучил модель на 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": [...]
}
]
}