{"error": "входные данные - это обычное значение / список, но для объекта требуется множество входных тензоров в соответствии с tenorinfo_map"} - PullRequest
1 голос
/ 23 января 2020

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

моя карта тензорной информации

сохраненная_модель_cli show --dir / export / 1 / --tag_set serve --signature_def serve_default

The given SavedModel SignatureDef contains the following input(s):
  inputs['length_0'] tensor_info:
      dtype: DT_INT32
      shape: (-1)
      name: serving_default_length_0:0
  inputs['length_1'] tensor_info:
      dtype: DT_INT32
      shape: (-1)
      name: serving_default_length_1:0
  inputs['length_2'] tensor_info:
      dtype: DT_INT32
      shape: (-1)
      name: serving_default_length_2:0
  inputs['tokens_0'] tensor_info:
      dtype: DT_STRING
      shape: (-1, -1)
      name: serving_default_tokens_0:0
  inputs['tokens_1'] tensor_info:
      dtype: DT_STRING
      shape: (-1, -1)
      name: serving_default_tokens_1:0
  inputs['tokens_2'] tensor_info:
      dtype: DT_STRING
      shape: (-1, -1)
      name: serving_default_tokens_2:0
The given SavedModel SignatureDef contains the following output(s):
  outputs['alignment'] tensor_info:
      dtype: DT_FLOAT
      shape: (-1, 1, -1, -1)
      name: StatefulPartitionedCall_8:0
  outputs['length'] tensor_info:
      dtype: DT_INT32
      shape: (-1, 1)
      name: StatefulPartitionedCall_8:1
  outputs['log_probs'] tensor_info:
      dtype: DT_FLOAT
      shape: (-1, 1)
      name: StatefulPartitionedCall_8:2
  outputs['tokens'] tensor_info:
      dtype: DT_STRING
      shape: (-1, 1, -1)
      name: StatefulPartitionedCall_8:3
Method name is: tensorflow/serving/predict

I я делаю запрос curl

curl -X POST -i 'http://192.168.1.16:8501/v1/models/export:predict' --data '{ "signature_name":  "serving_default",  "inputs": [{ "tokens_0" :["text text text text text text text text text text"], "length_0": [1], "tokens_1": ["01 01 01 01 01 01 01 01 01 01"], "length_1": [1], "tokens_2": ["4 4 4 1 1 4 4 4 4 4"], "length_2": [1]}]}'

Я хочу знать, где я ошибаюсь при передаче данных. каким должен быть формат запроса json.

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

1 Ответ

3 голосов
/ 29 января 2020

Вы передаете свой ввод в формате строки, поэтому, если вы замените «входы» на «экземпляры», все должно работать нормально, См. Здесь разницу между форматом строки и столбца

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...