2017-09-15 121 views
1

我已经导出了一个DNNClassifier模型并使用docker在tensorflow服务的服务器上运行它。之后,我写了一个python客户端与tensorflow交互 - 为新的预测服务。如何解析来自tensorflow服务器的gRPC存根客户端接收到的输出?

我已经写了下面的代码来获得来自tensorflow-serving服务器的响应。

host, port = FLAGS.server.split(':') 
 
    channel = implementations.insecure_channel(host, int(port)) 
 
    stub = prediction_service_pb2.beta_create_PredictionService_stub(channel) 
 

 
    request = predict_pb2.PredictRequest() 
 
    request.model_spec.name = FLAGS.model 
 
    request.model_spec.signature_name = 'serving_default' 
 

 
    feature_dict = {'a': _float_feature(value=400), 
 
        'b': _float_feature(value=5), 
 
        'c': _float_feature(value=200), 
 
        'd': _float_feature(value=30), 
 
        'e': _float_feature(value=60), 
 
        'f': _float_feature(value=5), 
 
        'g': _float_feature(value=7500), 
 
        'h': _int_feature(value=1), 
 
        'i': _int_feature(value=1234), 
 
        'j': _int_feature(value=1), 
 
        'k': _int_feature(value=4), 
 
        'l': _int_feature(value=1), 
 
        'm': _int_feature(value=0)} 
 
    example= tf.train.Example(features=tf.train.Features(feature=feature_dict)) 
 
    serialized = example.SerializeToString() 
 

 
    request.inputs['inputs'].CopyFrom(
 
     tf.contrib.util.make_tensor_proto(serialized, shape=[1])) 
 

 
    result_future = stub.Predict.future(request, 5.0) 
 
    print(result_future.result())
现在我m到处为我输出的输出是: -

enter image description here 我不是能够想出如何解析float_val号码,因为这是我的输出。请帮助。

+0

它是否解决你的问题?如果是这样,你能接受答案吗? –

回答

2

你可以做以下

result = stub.Predict(request, 5.0) 
float_val = result.outputs['outputs'].float_val 

注意,此方法调用的stub.Predict代替stub.Predict.future

+0

谢谢@maxime !!!它解决了我的问题。 – user3457384

+0

如果您有多个值,该怎么办? –

相关问题