Как отправить несколько запросов в AWS Sagemaker Endpoint при одном вызове? - PullRequest
0 голосов
/ 17 января 2019

Я развернул модель глубокого обучения на конечной точке SageMaker и могу запросить / получить ответ, используя sagemaker_client.invoke_endpoint. Но каждый invoke_endpoint принимает одно тело. Как отправить несколько тел для получения нескольких результатов по одному запросу?

Я пытался установить body='{"instances": [myData1, myData2]}', но распознает как одну строку.

def sagemaker_handler(doc):
    data = doc.encode("UTF-8")
    response = sagemaker_client.invoke_endpoint(EndpointName='myEndpoint',
                                                ContentType='application/json',
                                                Accept='application/json', Body=data)
return response

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

В настоящее время невозможно передать несколько запросов с использованием invoke_endpoint. invoke_endpoint принимает только один запрос в теле и возвращает один прогноз. https://docs.aws.amazon.com/sagemaker/latest/dg/API_runtime_InvokeEndpoint.html

SageMaker поддерживает пакетную обработку, которая может использоваться для нескольких запросов, но это не является конечной точкой. https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-batch-transform.html

У Amazon есть документация для передачи нескольких запросов и форматов, но это только для пакетного преобразования. https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html

0 голосов
/ 19 января 2019

Согласно документу invoke_endpoint () поддерживает несколько экземпляров в теле

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-runtime.html#SageMakerRuntime.Client.invoke_endpoint https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html

Я использовал это для встроенных алгоритмов снова и снова. Вы можете посмотреть на этот блокнот для примера: https://github.com/awslabs/amazon-sagemaker-examples/blob/master/introduction_to_amazon_algorithms/blazingtext_text_classification_dbpedia/blazingtext_text_classification_dbpedia.ipynb

Мне интересно, ведут ли себя контейнеры Deep Learning по-другому. Я постараюсь выяснить. Не могли бы вы рассказать мне немного больше о вашем сценарии использования и почему вы хотите предсказать несколько экземпляров одновременно? Буду рад прочитать ваши отзывы и передать их команде SageMaker.

В качестве альтернативы, если вам на самом деле не нужна конечная точка HTTPS (т.е. не требуется прогнозирование в реальном времени), то пакетное преобразование может решить вашу проблему:

https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-batch-transform.html

...