Я обучил и развернул модель в Pytorch с Sagemaker.Я могу позвонить на конечную точку и получить прогноз.Я использую функцию input_fn () по умолчанию (то есть не определенную в моем serve.py).
model = PyTorchModel(model_data=trained_model_location,
role=role,
framework_version='1.0.0',
entry_point='serve.py',
source_dir='source')
predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge')
Прогноз может быть сделан следующим образом:
input ="0.12787057, 1.0612601, -1.1081504"
predictor.predict(np.genfromtxt(StringIO(input), delimiter=",").reshape(1,3) )
Я хочу бытьможет обслуживать модель с помощью REST API и использовать HTTP POST с использованием лямбда и шлюза API.Я смог использовать invoke_endpoint () для этого с моделью XGBOOST в Sagemaker таким образом.Я не уверен, что отправлять в тело для Pytorch.
client = boto3.client('sagemaker-runtime')
response = client.invoke_endpoint(EndpointName=ENDPOINT ,
ContentType='text/csv',
Body=???)
Мне кажется, мне нужно понять, как написать клиенту input_fn, чтобы он принимал и обрабатывал данные, которые я могу отправить через invoke_client.Я на правильном пути, и если да, то как можно написать input_fn для приема csv из invoke_endpoint?