Я обучил модель с помощью API обнаружения объектов TF.Это автоматически экспортирует папку variables
и saved_model.pb
.Я запустил saved_model_cli show --dir <saved_model_path> --all
и получил вывод:
MetaGraphDef with tag-set: 'serve' contains the following SignatureDefs:
signature_def['serving_default']:
The given SavedModel SignatureDef contains the following input(s):
inputs['serialized_example'] tensor_info:
dtype: DT_STRING
shape: ()
name: tf_example:0
The given SavedModel SignatureDef contains the following output(s):
outputs['detection_boxes'] tensor_info:
dtype: DT_FLOAT
shape: (1, 40, 4)
name: detection_boxes:0
outputs['detection_classes'] tensor_info:
dtype: DT_FLOAT
shape: (1, 40)
name: detection_classes:0
outputs['detection_scores'] tensor_info:
dtype: DT_FLOAT
shape: (1, 40)
name: detection_scores:0
outputs['num_detections'] tensor_info:
dtype: DT_FLOAT
shape: (1)
name: num_detections:0
outputs['raw_detection_boxes'] tensor_info:
dtype: DT_FLOAT
shape: (1, 204800, 4)
name: raw_detection_boxes:0
outputs['raw_detection_scores'] tensor_info:
dtype: DT_FLOAT
shape: (1, 204800, 2)
name: raw_detection_scores:0
Method name is: tensorflow/serving/predict
signature_def['tensorflow/serving/predict']:
The given SavedModel SignatureDef contains the following input(s):
inputs['serialized_example'] tensor_info:
dtype: DT_STRING
shape: ()
name: tf_example:0
The given SavedModel SignatureDef contains the following output(s):
outputs['detection_boxes'] tensor_info:
dtype: DT_FLOAT
shape: (1, 40, 4)
name: detection_boxes:0
outputs['detection_classes'] tensor_info:
dtype: DT_FLOAT
shape: (1, 40)
name: detection_classes:0
outputs['detection_scores'] tensor_info:
dtype: DT_FLOAT
shape: (1, 40)
name: detection_scores:0
outputs['num_detections'] tensor_info:
dtype: DT_FLOAT
shape: (1)
name: num_detections:0
outputs['raw_detection_boxes'] tensor_info:
dtype: DT_FLOAT
shape: (1, 204800, 4)
name: raw_detection_boxes:0
outputs['raw_detection_scores'] tensor_info:
dtype: DT_FLOAT
shape: (1, 204800, 2)
name: raw_detection_scores:0
Method name is: tensorflow/serving/predict
Затем я создал функцию прогнозирования с:
predict_fn = tf.contrib.predictor.from_saved_model(<saved_model_path>)
Теперь я застрял на построенииполезные данные изображения для отправки на это.В частности, меня смущает имя ввода serialized_example
, тип ввода d DT_STRING
и форма ввода ()
.Может быть, кто-нибудь пожелает продемонстрировать, как взять либо массив numpy, либо файл изображения jpeg и сформировать правильную полезную нагрузку для этой модели?