Skip to content

Commit 48e9cc0

Browse files
Fixed bug in transpose optimizer for mul of conv with multiple consumers (#1528)
Signed-off-by: Tom Wildenhain <[email protected]>
1 parent e14bd58 commit 48e9cc0

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

tf2onnx/optimizer/transpose_optimizer.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,9 @@ def _mul_handler(self, trans, node):
560560
t_p = trans.inputs[0]
561561
trans_rank = get_transpose_rank(trans)
562562
# make sure conv don't have bias set
563-
if t_p.type == "Conv" and t_p.inputs[1].is_const() and len(t_p.input) == 2 and trans_rank == 4:
563+
can_opt = t_p.type == "Conv" and t_p.inputs[1].is_const() and len(t_p.input) == 2 and trans_rank == 4
564+
can_opt = can_opt and self._nodes_has_single_consumer_node([t_p])
565+
if can_opt:
564566
conv = t_p
565567
numpy_val = conv.inputs[1].get_tensor_value(as_list=False)
566568
transposed_val = np.transpose(numpy_val, (2, 3, 1, 0))

0 commit comments

Comments
 (0)