@AastaLLL Can you teach me how to remove non-support layers?
I only have .pb file. I don’t have source code.
Using output node output
Converting to UFF graph
Warning: No conversion function registered for layer: Identity yet.
Converting as custom op Identity output
name: "output"
op: "Identity"
input: "BiasAdd_22"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_21
name: "truediv_21"
op: "RealDiv"
input: "sub_21"
input: "truediv_21/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_19
name: "truediv_19"
op: "RealDiv"
input: "sub_19"
input: "truediv_19/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_18
name: "truediv_18"
op: "RealDiv"
input: "sub_18"
input: "truediv_18/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_17
name: "truediv_17"
op: "RealDiv"
input: "sub_17"
input: "truediv_17/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_16
name: "truediv_16"
op: "RealDiv"
input: "sub_16"
input: "truediv_16/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_15
name: "truediv_15"
op: "RealDiv"
input: "sub_15"
input: "truediv_15/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_14
name: "truediv_14"
op: "RealDiv"
input: "sub_14"
input: "truediv_14/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_13
name: "truediv_13"
op: "RealDiv"
input: "sub_13"
input: "truediv_13/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_12
name: "truediv_12"
op: "RealDiv"
input: "sub_12"
input: "truediv_12/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_11
name: "truediv_11"
op: "RealDiv"
input: "sub_11"
input: "truediv_11/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_10
name: "truediv_10"
op: "RealDiv"
input: "sub_10"
input: "truediv_10/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_9
name: "truediv_9"
op: "RealDiv"
input: "sub_9"
input: "truediv_9/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_8
name: "truediv_8"
op: "RealDiv"
input: "sub_8"
input: "truediv_8/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_7
name: "truediv_7"
op: "RealDiv"
input: "sub_7"
input: "truediv_7/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_6
name: "truediv_6"
op: "RealDiv"
input: "sub_6"
input: "truediv_6/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_5
name: "truediv_5"
op: "RealDiv"
input: "sub_5"
input: "truediv_5/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_4
name: "truediv_4"
op: "RealDiv"
input: "sub_4"
input: "truediv_4/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_3
name: "truediv_3"
op: "RealDiv"
input: "sub_3"
input: "truediv_3/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_2
name: "truediv_2"
op: "RealDiv"
input: "sub_2"
input: "truediv_2/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_1
name: "truediv_1"
op: "RealDiv"
input: "sub_1"
input: "truediv_1/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv
name: "truediv"
op: "RealDiv"
input: "sub"
input: "truediv/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: ExtractImagePatches yet.
Converting as custom op ExtractImagePatches ExtractImagePatches
name: "ExtractImagePatches"
op: "ExtractImagePatches"
input: "47-leaky"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "ksizes"
value {
list {
i: 1
i: 2
i: 2
i: 1
}
}
}
attr {
key: "padding"
value {
s: "VALID"
}
}
attr {
key: "rates"
value {
list {
i: 1
i: 1
i: 1
i: 1
}
}
}
attr {
key: "strides"
value {
list {
i: 1
i: 2
i: 2
i: 1
}
}
}
Warning: No conversion function registered for layer: RealDiv yet.
Converting as custom op RealDiv truediv_20
name: "truediv_20"
op: "RealDiv"
input: "sub_20"
input: "truediv_20/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Warning: No conversion function registered for layer: Identity yet.
Converting as custom op Identity concat
name: "concat"
op: "Identity"
input: "29-leaky"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/uff/bin/convert_to_uff.py", line 109, in <module>
main()
File "/usr/local/lib/python2.7/dist-packages/uff/bin/convert_to_uff.py", line 104, in main
output_filename=args.output
File "/usr/local/lib/python2.7/dist-packages/uff/converters/tensorflow/conversion_helpers.py", line 103, in from_tensorflow_frozen_model
return from_tensorflow(graphdef, output_nodes, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/uff/converters/tensorflow/conversion_helpers.py", line 77, in from_tensorflow
uff_metagraph_proto = uff_metagraph.to_uff()
File "/usr/local/lib/python2.7/dist-packages/uff/model/meta_graph.py", line 39, in to_uff
graphs=[graph.to_uff(debug) for graph in self.graphs],
File "/usr/local/lib/python2.7/dist-packages/uff/model/graph.py", line 26, in to_uff
graph = uff_pb.Graph(id=self.name, nodes=self._check_graph_and_get_nodes())
File "/usr/local/lib/python2.7/dist-packages/uff/model/graph.py", line 46, in _check_graph_and_get_nodes
raise extend_with_original_traceback(e, node._trace)
ValueError: Field name must be a string
Originally defined at:
File "/usr/local/lib/python2.7/dist-packages/uff/bin/convert_to_uff.py", line 109, in <module>
main()
File "/usr/local/lib/python2.7/dist-packages/uff/bin/convert_to_uff.py", line 104, in main
output_filename=args.output
File "/usr/local/lib/python2.7/dist-packages/uff/converters/tensorflow/conversion_helpers.py", line 103, in from_tensorflow_frozen_model
return from_tensorflow(graphdef, output_nodes, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/uff/converters/tensorflow/conversion_helpers.py", line 75, in from_tensorflow
name="main")
File "/usr/local/lib/python2.7/dist-packages/uff/converters/tensorflow/converter.py", line 64, in convert_tf2uff_graph
uff_graph, input_replacements)
File "/usr/local/lib/python2.7/dist-packages/uff/converters/tensorflow/converter.py", line 51, in convert_tf2uff_node
op, name, tf_node, inputs, uff_graph, tf_nodes=tf_nodes)
File "/usr/local/lib/python2.7/dist-packages/uff/converters/tensorflow/converter.py", line 29, in convert_layer
uff_graph.custom_node(op, inputs, name, fields)
File "/usr/local/lib/python2.7/dist-packages/uff/model/graph.py", line 233, in custom_node
return self._add_node(op, name, inputs=inputs, fields=fields, extra_fields=extra_fields)
File "/usr/local/lib/python2.7/dist-packages/uff/model/graph.py", line 65, in _add_node
node = Node(self, op, name, inputs, fields, extra_fields)
I guess the error is from non-support layers. Can you teach me how to delete non-supported from .pb file?