2017-09-15 118 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

如果您有多個值,該怎麼辦? –

相關問題