Создание экземпляров или входных данных для API REST TensorFlow Serving - PullRequest
1 голос
/ 11 апреля 2019

Я готов опробовать мой REST API TensorFlow Serving на основе сохраненной модели, и мне было интересно, есть ли простой способ генерировать экземпляры JSON (на основе строк) или входные данные (столбцы), которые нужно отправить с помощьюмой запрос .

У меня есть несколько тысяч функций в моей модели, и я не хотел бы вручную вводить JSON.Есть ли способ, которым я могу использовать существующие данные для получения сериализованных данных, которые я могу выдать в API прогнозирования?

Я использую TFX для всего конвейера (включая tf.Transform), поэтому яне уверен, есть ли в TFX аккуратный способ, которым я могу воспользоваться.

Вывод saved_model_cli таков:

The given SavedModel SignatureDef contains the following input(s):
  inputs['examples'] tensor_info:
      dtype: DT_STRING
      shape: (-1)
      name: input_example_tensor:0

Что не говорит мне много.

Ответы [ 2 ]

1 голос
/ 18 апреля 2019

Вы можете использовать клиент Python REST для программного вызова, вместо того, чтобы вручную составлять запрос.Это пример кода в github tenorflow_serving:

https://github.com/tensorflow/serving/blob/master/tensorflow_serving/example/resnet_client.py

0 голосов
/ 20 мая 2019

Вы можете попробовать следующий код:

examples = []
for _, row in Inputs.iterrows():
  example = tf.train.Example()
  for col, value in row.iteritems():
    example.features.feature[col].float_list.value.append(value)
  examples.append(example)
print(examples)

Это будет JSON, как показано ниже:

[features {
  feature {
    key: "PetalLength"
    value {
      float_list {
        value: 5.900000095367432
      }
    }
  }
  feature {
    key: "PetalWidth"
    value {
      float_list {
        value: 2.0999999046325684
      }
    }
  }
  feature {
    key: "SepalLength"
    value {
      float_list {
        value: 7.099999904632568
      }
    }
  }
  feature {
    key: "SepalWidth"
    value {
      float_list {
        value: 3.0
      }
    }
  }
}
]

Затем вы можете выполнить вывод, используя следующую команду:

curl -d '{"inputs":examples}' \
  -X POST http://localhost:8501/v1/models/1554294699:predict
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...