Я использую модель TF, которая развернута в SageMaker, чтобы делать прогнозы. Входными данными для прогнозирования является массив строк. Например, я могу успешно вызвать его с помощью:
input = {
'instances': ["Hello world"]
}
from sagemaker.tensorflow.model import TensorFlowPredictor
predictor = TensorFlowPredictor('endpoint-name', sagemaker_session)
predictor.predict(input)
Однако, если строка в массиве строк содержит '] [', я получаю сообщение об ошибке относительно допустимости массива Json
input = {
'instances': ["]["]
}
from sagemaker.tensorflow.model import TensorFlowPredictor
predictor = TensorFlowPredictor('endpoint-name', sagemaker_session)
predictor.predict(input)
Сообщение об ошибке:
An error occurred (ModelError) when calling the InvokeEndpoint operation: Received client error (400) from model with message "{ "error": "JSON Value: {\n \"instances\": {\n \"instances\": [\n \"][\"\n ]\n }\n} Excepting 'instances' to be an list/array" }". See https://us-east-1.console.aws.amazon.com/cloudwatch/home?region=us-east-1#logEventViewer:group=/aws/sagemaker/Endpoints/endpoint-name in account XXXXXXXXX for more information.
Насколько я могу сказать, JSON Я отправляю
{
'instances': ["Hello world"]
}
является действительным JSON (я также проверил это у некоторых json онлайн-зрителей, которые принимают его как легального JSON) Это какая-то ошибка в JSON разборе SageMaker?