Я полагаю, что ваша сохраненная модель имеет serving_input_receiver_fn
, принимая string
в качестве входных данных и анализируя tf.Example
. Использование SavedModel с оценщиками
def serving_example_input_receiver_fn():
serialized_tf_example = tf.placeholder(dtype=tf.string)
receiver_tensors = {'inputs': serialized_tf_example}
features = tf.parse_example(serialized_tf_example, YOUR_EXAMPLE_SCHEMA)
return tf.estimator.export.ServingInputReceiver(features, receiver_tensors)
, поэтому serving_input_receiver_fn
принимает строку, поэтому вам необходимо SerializeToString
ваш tf.Example()
.Кроме того, serving_input_receiver_fn
работает как input_fn
для обучения, пакетный сброс данных в модель.
Код может измениться на:
request = predict_pb2.PredictRequest()
request.model_spec.name = "regressor_test"
request.model_spec.signature_name = 'your method signature, check use saved_model_cli'
request.inputs['inputs'].CopyFrom(tf.make_tensor_proto([tf_ex.SerializeToString()], dtype=types_pb2.DT_STRING))