2017-09-15 5 views
1

DNNClassifierモデルをエクスポートし、ドッカーを使用してテンソルフローサービングサーバーで実行しました。その後、新しい予測のためにそのテンソルフローを扱うPythonクライアントを作成しました。テンソルフローサービングサーバからgRPCスタブクライアントが受信した出力を解析するにはどうすればよいですか?

テンソルフローサービングサーバーからの応答を取得するために、次のコードを記述しました。

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数を解析する方法を見つけ出すことができなかっメートル。 Plsヘルプ。

+0

それはあなたの質問を解決しましたを呼び出すことを、次の

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

注を行うことができますか?もしそうなら、答えを受け入れることができますか? –

答えて

2

あなたは、この方法はstub.Predict代わりのstub.Predict.future

+0

ありがとう@maxime !!!それは私の問題を解決しました。 – user3457384

+0

複数の値がある場合はどうなりますか? –

関連する問題