@@ -2011,6 +2011,33 @@ def test_fuse_pad_into_conv_reflection_pad_no_fuse(self):
20112011
20122012 assert optimized_model .graph == graph
20132013
2014+ # type: () -> None
2015+ def test_fuse_pad_into_conv_with_notset_autopad (self ):
2016+ pad = helper .make_node (
2017+ "Pad" , ["X" ], ["P" ], mode = "constant" , pads = [0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 ]
2018+ )
2019+ conv = helper .make_node ("Conv" , ["P" , "Y" ], ["Z" ], auto_pad = "NOTSET" )
2020+ graph = helper .make_graph (
2021+ [pad , conv ],
2022+ "test" ,
2023+ [
2024+ helper .make_tensor_value_info ("X" , TensorProto .FLOAT , (1 , 5 , 2 , 2 )),
2025+ helper .make_tensor_value_info ("Y" , TensorProto .FLOAT , (16 , 5 , 3 , 3 )),
2026+ ],
2027+ [helper .make_tensor_value_info ("Z" , TensorProto .FLOAT , (1 , 16 , 1 , 1 ))],
2028+ )
2029+ optimized_model = self ._optimized (
2030+ graph ,
2031+ ["fuse_pad_into_conv" ],
2032+ False ,
2033+ opset_imports = [helper .make_opsetid ("" , 10 )],
2034+ )
2035+
2036+ assert len (list (optimized_model .graph .node )) == 1
2037+ assert optimized_model .graph .node [0 ].op_type == "Conv"
2038+ assert optimized_model .graph .node [0 ].attribute [0 ].name == "pads"
2039+ assert list (optimized_model .graph .node [0 ].attribute [0 ].ints ) == [0 , 0 , 1 , 1 ]
2040+
20142041 def test_fuse_pad_into_avgpool_no_optional_value_opset10 (self ):
20152042 pad = helper .make_node (
20162043 "Pad" , ["X" ], ["P" ], mode = "constant" , pads = [0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 ]
0 commit comments