@@ -515,6 +515,26 @@ def test_transpose_with_identity(self, input_shape, output_shape, perm):
515
515
self .run_transpose_compare (["Z" ], {"X" : np .random .randn (* input_shape ).astype (np .float32 )},
516
516
model_proto , remaining_transpose_num = 1 )
517
517
518
+ @parameterized .expand ([
519
+ ((2 , 3 , 4 , 5 ), [0 , 2 , 3 , 1 ], [0 , 3 , 1 , 2 ]),
520
+ ((2 , 3 , 4 , 5 , 6 ), [0 , 2 , 3 , 4 , 1 ], [0 , 4 , 1 , 2 , 3 ]),
521
+ ])
522
+ def test_transpose_sqrt (self , shape , perm_input , perm_output ):
523
+ node0 = helper .make_node ("Transpose" , ["X" ], ["Y" ], perm = perm_input , name = "trans1" )
524
+ node1 = helper .make_node ("Sqrt" , ["Y" ], ["Z" ], name = "sqrt" )
525
+ node2 = helper .make_node ("Transpose" , ["Z" ], ["OUT" ], perm = perm_output , name = "trans2" )
526
+
527
+ graph = helper .make_graph (
528
+ [node0 , node1 , node2 ],
529
+ "transpose-sqrt-test" ,
530
+ [helper .make_tensor_value_info ("X" , TensorProto .FLOAT , shape )],
531
+ [helper .make_tensor_value_info ("OUT" , TensorProto .FLOAT , shape )],
532
+ )
533
+
534
+ model_proto = self .make_model (graph , producer_name = "onnx-tests" )
535
+ self .run_transpose_compare (["OUT" ], {"X" : np .random .randn (* shape ).astype (np .float32 )},
536
+ model_proto , remaining_transpose_num = 0 )
537
+
518
538
@parameterized .expand ([
519
539
((1 , 3 , 4 , 5 ), (4 , 5 , 3 ), [0 , 2 , 3 , 1 ], [1 , 2 , 0 ]),
520
540
((1 , 3 , 4 , 5 , 6 ), (4 , 5 , 6 , 3 ), [0 , 2 , 3 , 4 , 1 ], [1 , 2 , 3 , 0 ]),
@@ -1000,6 +1020,27 @@ def test_transpose_pad11_non_const_pads(self, input_shape, output_shape, pads, p
1000
1020
},
1001
1021
model_proto , remaining_transpose_num = 0 )
1002
1022
1023
+ @parameterized .expand ([
1024
+ ((2 , 3 , 4 , 5 ), [0 , 2 , 3 , 1 ], [0 , 3 , 1 , 2 ]),
1025
+ ((2 , 3 , 4 , 5 , 6 ), [0 , 2 , 3 , 4 , 1 ], [0 , 4 , 1 , 2 , 3 ]),
1026
+ ])
1027
+ def test_transpose_reciprocal (self , shape , perm_input , perm_output ):
1028
+ node0 = helper .make_node ("Transpose" , ["X" ], ["Y" ], perm = perm_input , name = "trans1" )
1029
+ node1 = helper .make_node ("Reciprocal" , ["Y" ], ["Z" ], name = "reciprocal" )
1030
+ node2 = helper .make_node ("Transpose" , ["Z" ], ["OUT" ], perm = perm_output , name = "trans2" )
1031
+
1032
+ graph = helper .make_graph (
1033
+ [node0 , node1 , node2 ],
1034
+ "transpose-reciprocal-test" ,
1035
+ [helper .make_tensor_value_info ("X" , TensorProto .FLOAT , shape )],
1036
+ [helper .make_tensor_value_info ("OUT" , TensorProto .FLOAT , shape )],
1037
+ )
1038
+
1039
+ model_proto = self .make_model (graph , producer_name = "onnx-tests" )
1040
+ self .run_transpose_compare (["OUT" ], {"X" : np .random .randn (* shape ).astype (np .float32 )},
1041
+ model_proto , remaining_transpose_num = 0 )
1042
+
1043
+
1003
1044
@parameterized .expand ([
1004
1045
((1 , 3 , 4 , 5 ), (1 , 3 , 1 , 1 ), [0 , 2 , 3 , 1 ], [0 , 3 , 1 , 2 ]),
1005
1046
((1 , 3 , 4 , 5 , 6 ), (1 , 3 , 1 , 1 , 1 ), [0 , 2 , 3 , 4 , 1 ], [0 , 4 , 1 , 2 , 3 ]),
0 commit comments