Как создать ClassificationRequest со структурированными данными для отправки в TensorFlow Обслуживание с gRPC - PullRequest
0 голосов
/ 30 ноября 2018

Я обучил и экспортировал Iris Classifier из этого руководства .Я экспортировал его, добавив следующее в premade_estimator.py :

feature_spec = tf.feature_column.make_parse_example_spec(my_feature_columns)
serving_input_receiver_fn = tf.estimator.export.build_parsing_serving_input_receiver_fn(feature_spec)
classifier.export_saved_model("iris_export_base", serving_input_receiver_fn)

Я могу получить выводы, используя REST API, например:

import requests
response = requests.post('http://localhost:8501/v1/models/foo:classify', 
                         json={"examples": [{"SepalLength": 2.3, 
                                             "SepalWidth": 3.4, 
                                             "PetalLength": 2.2, 
                                             "PetalWidth": 0.81}]})

Я также был в состоянии успешно получить выводы с другими моделями, используя gRPC, как эта модель обнаружения объекта, которая принимает в качестве входных данных изображение в виде массива:

channel = grpc.insecure_channel(SERVER_ADDR)
stub = prediction_service_pb2_grpc.PredictionServiceStub(channel)
request = predict_pb2.PredictRequest()
request.model_spec.name = MODEL_SPEC_NAME
request.inputs['inputs'].CopyFrom(tf.contrib.util.make_tensor_proto(image_ary))
result = stub.Predict(request, 10.0)

Но я не могу понять, как я 'Я должен указать входные данные для ClassificationRequest.Мое лучшее предположение - что-то вроде этого:

channel = grpc.insecure_channel(SERVER_ADDR)
stub = prediction_service_pb2_grpc.PredictionServiceStub(channel)
request = classification_pb2.ClassificationRequest()
request.model_spec.name = MODEL_SPEC_NAME
request.input #...?

Но я не могу найти никакой информации о том, как установить ввод, и все, что я до сих пор пробовал, выдает какой-то TypeError.

1 Ответ

0 голосов
/ 04 декабря 2018

Вы можете найти пример задания ввода здесь: https://github.com/tensorflow/serving/blob/master/tensorflow_serving/model_servers/tensorflow_model_server_test.py#L354:

example = request.input.example_list.examples.add () example.features.feature ['x']. Float_list.value.extend ([2,0])

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