Couldn’t find a way to edit my original topic, but I have also inspected the saved model.
I ran:
$ saved_model_cli show --dir <path_to_model> --all
There was this error reported at the end of this output:
FileNotFoundError: Op type not registered 'SimpleMLInferenceOpWithHandle' in binary running on craftsman. Make sure the Op and Kernel are registered in the binary running in this process. Note that if you are loading a saved graph which used ops from tf.contrib, accessing (e.g.) `tf.contrib.resampler` should be done before importing the graph, as contrib ops are lazily registered when the module is first accessed.
If trying to load on a different device from the computational device, consider using setting the `experimental_io_device` option on tf.saved_model.LoadOptions to the io_device such as '/job:localhost'.
Here is the remainder of the output that came prior to the error:
MetaGraphDef with tag-set: 'serve' contains the following SignatureDefs:
signature_def['__saved_model_init_op']:
The given SavedModel SignatureDef contains the following input(s):
The given SavedModel SignatureDef contains the following output(s):
outputs['__saved_model_init_op'] tensor_info:
dtype: DT_INVALID
shape: unknown_rank
name: NoOp
Method name is:
signature_def['serving_default']:
The given SavedModel SignatureDef contains the following input(s):
inputs['examples'] tensor_info:
dtype: DT_STRING
shape: (-1)
name: serving_default_examples:0
The given SavedModel SignatureDef contains the following output(s):
outputs['output_0'] tensor_info:
dtype: DT_FLOAT
shape: (-1, 1)
name: StatefulPartitionedCall_10:0
Method name is: tensorflow/serving/predict
signature_def['transform']:
The given SavedModel SignatureDef contains the following input(s):
inputs['examples'] tensor_info:
dtype: DT_STRING
shape: (-1)
name: transform_examples:0
The given SavedModel SignatureDef contains the following output(s):
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:3
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:7
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:11
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:15
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1, 1)
name: StatefulPartitionedCall_11:16
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1)
name: StatefulPartitionedCall_11:17
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:21
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:25
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:29
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:33
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:37
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1, 1)
name: StatefulPartitionedCall_11:38
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1)
name: StatefulPartitionedCall_11:39
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:43
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:47
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:51
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1, 1)
name: StatefulPartitionedCall_11:52
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1)
name: StatefulPartitionedCall_11:53
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:57
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:61
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:65
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:69
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:73
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1)
name: StatefulPartitionedCall_11:77
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1)
name: StatefulPartitionedCall_11:81
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1, 1)
name: StatefulPartitionedCall_11:82
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1)
name: StatefulPartitionedCall_11:83
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:87
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:91
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:95
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:99
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1, 1)
name: StatefulPartitionedCall_11:100
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1)
name: StatefulPartitionedCall_11:101
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:105
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:109
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:113
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:117
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:121
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1)
name: StatefulPartitionedCall_11:125
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1, 1)
name: StatefulPartitionedCall_11:126
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1)
name: StatefulPartitionedCall_11:127
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:131
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:135
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:139
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1, 1)
name: StatefulPartitionedCall_11:140
outputs['<redacted>'] tensor_info:
dtype: DT_STRING
shape: (-1)
name: StatefulPartitionedCall_11:141
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:145
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:149
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:153
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_FLOAT
shape: (-1)
name: StatefulPartitionedCall_11:157
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1, -1)
name:
outputs['<redacted>'] tensor_info:
dtype: DT_INT64
shape: (-1)
name: StatefulPartitionedCall_11:161
Method name is: tensorflow/serving/predict