1
Tensorflow Servingセッションへの通信を確立しようとしています。 次のコードは機能しますが、少し遅いです。それを改善する方法はありますか?私は問題が4行目にあると考えています。出力はfloat_val要素のリストとして与えられています。浮動小数点型配列に変換し、それらを変形する必要があります。Tensorflow Serving Response
サーバーの出力を正しい形にする方法はありますか? 以下のように出力署名を定義しました(これは正しいと思います)。
prediction_channel, request_form = setup_channel(args.server)
request_form.inputs['images'].CopyFrom(
tf.contrib.util.make_tensor_proto(img_transformed, shape=list(img_transformed.shape)))
output = prediction_channel.Predict.future(request_form, 5.0)
output = np.array(output.result().outputs['scores'].float_val).reshape(1, 16, 64, 64)
最初の行は、機能
を使用してサーバーへのチャネルを開くdef setup_channel(hostport):
host, port = hostport.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 = 'hg'
request.model_spec.signature_name = 'predict_images'
return stub, request
出力シグネチャは:
tensor_info_x = tf.saved_model.utils.build_tensor_info(model.input_tensor)
tensor_info_y = tf.saved_model.utils.build_tensor_info(model.predict)
prediction_signature = (
tf.saved_model.signature_def_utils.build_signature_def(
inputs={'images': tensor_info_x},
outputs={'scores': tensor_info_y},
method_name=tf.saved_model.signature_constants.PREDICT_METHOD_NAME))**
とモデルが(1、16の形状を有する予測、64,64)。