Update Strip strings to also clear signatures in the flatbuffer.
We clear the whole signature list as removing strings makes the signature useless. PiperOrigin-RevId: 346594577 Change-Id: I1b4e2b19f69bf260fefc74ff02e92d874c8b8e76
This commit is contained in:
parent
76a17bad58
commit
698571054b
@ -126,6 +126,8 @@ def strip_strings(model):
|
||||
subgraph.name = None
|
||||
for tensor in subgraph.tensors:
|
||||
tensor.name = None
|
||||
# We clear all signature_def structure, since without names it is useless.
|
||||
model.signatureDefs = None
|
||||
|
||||
|
||||
def randomize_weights(model, random_seed=0):
|
||||
|
@ -89,6 +89,9 @@ class StripStringsTest(test_util.TensorFlowTestCase):
|
||||
# Validate the description
|
||||
self.assertIsNotNone(initial_model.description)
|
||||
self.assertIsNone(final_model.description)
|
||||
self.assertIsNotNone(initial_model.signatureDefs)
|
||||
self.assertIsNone(final_model.signatureDefs)
|
||||
|
||||
# Validate the main subgraph's name, inputs, outputs, operators and tensors
|
||||
initial_subgraph = initial_model.subgraphs[0]
|
||||
final_subgraph = final_model.subgraphs[0]
|
||||
|
@ -196,6 +196,40 @@ def build_mock_flatbuffer_model():
|
||||
builder.PrependUOffsetTRelative(subgraph_offset)
|
||||
subgraphs_offset = builder.EndVector(1)
|
||||
|
||||
signature_method = builder.CreateString('my_method')
|
||||
signature_key = builder.CreateString('my_key')
|
||||
input_tensor_string = builder.CreateString('input_tensor')
|
||||
output_tensor_string = builder.CreateString('output_tensor')
|
||||
|
||||
# Signature Inputs
|
||||
schema_fb.TensorMapStart(builder)
|
||||
schema_fb.TensorMapAddName(builder, input_tensor_string)
|
||||
schema_fb.TensorMapAddTensorIndex(builder, 1)
|
||||
input_tensor = schema_fb.TensorMapEnd(builder)
|
||||
|
||||
# Signature Outputs
|
||||
schema_fb.TensorMapStart(builder)
|
||||
schema_fb.TensorMapAddName(builder, output_tensor_string)
|
||||
schema_fb.TensorMapAddTensorIndex(builder, 2)
|
||||
output_tensor = schema_fb.TensorMapEnd(builder)
|
||||
|
||||
schema_fb.SignatureDefStartInputsVector(builder, 1)
|
||||
builder.PrependUOffsetTRelative(input_tensor)
|
||||
signature_inputs_offset = builder.EndVector(1)
|
||||
schema_fb.SignatureDefStartOutputsVector(builder, 1)
|
||||
builder.PrependUOffsetTRelative(output_tensor)
|
||||
signature_outputs_offset = builder.EndVector(1)
|
||||
|
||||
schema_fb.SignatureDefStart(builder)
|
||||
schema_fb.SignatureDefAddKey(builder, signature_key)
|
||||
schema_fb.SignatureDefAddMethodName(builder, signature_method)
|
||||
schema_fb.SignatureDefAddInputs(builder, signature_inputs_offset)
|
||||
schema_fb.SignatureDefAddOutputs(builder, signature_outputs_offset)
|
||||
signature_offset = schema_fb.SignatureDefEnd(builder)
|
||||
schema_fb.ModelStartSignatureDefsVector(builder, 1)
|
||||
builder.PrependUOffsetTRelative(signature_offset)
|
||||
signature_defs_offset = builder.EndVector(1)
|
||||
|
||||
string4_offset = builder.CreateString('model_description')
|
||||
schema_fb.ModelStart(builder)
|
||||
schema_fb.ModelAddVersion(builder, TFLITE_SCHEMA_VERSION)
|
||||
@ -203,6 +237,7 @@ def build_mock_flatbuffer_model():
|
||||
schema_fb.ModelAddSubgraphs(builder, subgraphs_offset)
|
||||
schema_fb.ModelAddDescription(builder, string4_offset)
|
||||
schema_fb.ModelAddBuffers(builder, buffers_offset)
|
||||
schema_fb.ModelAddSignatureDefs(builder, signature_defs_offset)
|
||||
model_offset = schema_fb.ModelEnd(builder)
|
||||
builder.Finish(model_offset)
|
||||
model = builder.Output()
|
||||
|
Loading…
Reference in New Issue
Block a user