77import unittest
88
99import torch
10+
11+ from executorch .backends .xnnpack .test import tester
1012from executorch .backends .xnnpack .test .tester import Tester
1113
1214
@@ -29,17 +31,22 @@ def forward(self, x):
2931 return self .avgPool (x )
3032
3133 def _test_argpool2d (self , inputs ):
32- (
33- Tester (self .AvgPool2d (), inputs )
34- .export ()
35- .check_count ({"torch.ops.aten.avg_pool2d.default" : 1 })
36- .to_edge_transform_and_lower ()
37- .check_count ({"torch.ops.higher_order.executorch_call_delegate" : 1 })
38- .check_not (["executorch_exir_dialects_edge__ops_aten_avg_pool2d_default" ])
39- .to_executorch ()
40- .serialize ()
41- .run_method_and_compare_outputs ()
42- )
34+ for legacy in (True , False ):
35+ tester = Tester (self .AvgPool2d (), inputs )
36+ tester .export ()
37+ tester .check_count ({"torch.ops.aten.avg_pool2d.default" : 1 })
38+ if legacy :
39+ tester .to_edge ()
40+ tester .partition ()
41+ else :
42+ tester .to_edge_transform_and_lower ()
43+ tester .check_count ({"torch.ops.higher_order.executorch_call_delegate" : 1 })
44+ tester .check_not (
45+ ["executorch_exir_dialects_edge__ops_aten_avg_pool2d_default" ]
46+ )
47+ tester .to_executorch ()
48+ tester .serialize ()
49+ tester .run_method_and_compare_outputs ()
4350
4451 def test_fp16_avgpool2d (self ):
4552 inputs = (torch .randn (1 , 1 , 10 , 10 ).to (torch .float16 ),)
@@ -54,36 +61,45 @@ def test_fp32_avgpool2d_ceil_mode_unsupported(self):
5461 The XNNPACK backend does not support ceil mode.
5562 """
5663 inputs = (torch .randn (1 , 1 , 10 , 10 ),)
57- (
58- Tester (self .AvgPool2d (ceil_mode = True ), inputs )
59- .export ()
60- .check_count ({"torch.ops.aten.avg_pool2d.default" : 1 })
61- .to_edge_transform_and_lower ()
62- .check_not (["torch.ops.higher_order.executorch_call_delegate" ])
63- )
64+ for legacy in (True , False ):
65+ tester = Tester (self .AvgPool2d (ceil_mode = True ), inputs )
66+ tester .export ()
67+ tester .check_count ({"torch.ops.aten.avg_pool2d.default" : 1 })
68+ if legacy :
69+ tester .to_edge ()
70+ tester .partition ()
71+ else :
72+ tester .to_edge_transform_and_lower ()
73+ tester .check_not (["torch.ops.higher_order.executorch_call_delegate" ])
6474
6575 def test_fp32_avgpool2d_count_include_pad_unsupported (self ):
6676 """
6777 The XNNPACK backend does not support count_include_pad=True.
6878 """
6979 inputs = (torch .randn (1 , 1 , 10 , 10 ),)
70- (
71- Tester (self .AvgPool2d (count_include_pad = True ), inputs )
72- .export ()
73- .check_count ({"torch.ops.aten.avg_pool2d.default" : 1 })
74- .to_edge_transform_and_lower ()
75- .check_not (["torch.ops.higher_order.executorch_call_delegate" ])
76- )
80+ for legacy in (True , False ):
81+ tester = Tester (self .AvgPool2d (count_include_pad = True ), inputs )
82+ tester .export ()
83+ tester .check_count ({"torch.ops.aten.avg_pool2d.default" : 1 })
84+ if legacy :
85+ tester .to_edge ()
86+ tester .partition ()
87+ else :
88+ tester .to_edge_transform_and_lower ()
89+ tester .check_not (["torch.ops.higher_order.executorch_call_delegate" ])
7790
7891 def test_fp32_avgpool2d_divisor_override (self ):
7992 """
8093 The XNNPACK backend does not support divisor overrides not equal to the pooling region.
8194 """
8295 inputs = (torch .randn (1 , 1 , 10 , 10 ),)
83- (
84- Tester (self .AvgPool2d (divisor_override = 5 ), inputs )
85- .export ()
86- .check_count ({"torch.ops.aten.avg_pool2d.default" : 1 })
87- .to_edge_transform_and_lower ()
88- .check_not (["torch.ops.higher_order.executorch_call_delegate" ])
89- )
96+ for legacy in (True , False ):
97+ tester = Tester (self .AvgPool2d (divisor_override = 5 ), inputs )
98+ tester .export ()
99+ tester .check_count ({"torch.ops.aten.avg_pool2d.default" : 1 })
100+ if legacy :
101+ tester .to_edge ()
102+ tester .partition ()
103+ else :
104+ tester .to_edge_transform_and_lower ()
105+ tester .check_not (["torch.ops.higher_order.executorch_call_delegate" ])
0 commit comments