11
11
from executorch import exir
12
12
from executorch .backends .example .example_partitioner import ExamplePartitioner
13
13
from executorch .backends .example .example_quantizer import ExampleQuantizer
14
- from executorch .exir . backend . backend_api import to_backend
14
+ from executorch .exir import to_edge
15
15
16
16
from executorch .exir .backend .canonical_partitioners .duplicate_dequant_node_pass import (
17
17
DuplicateDequantNodePass ,
18
18
)
19
19
from executorch .exir .delegate import executorch_call_delegate
20
20
21
21
from torch .ao .quantization .quantize_pt2e import convert_pt2e , prepare_pt2e
22
+ from torch .export import export
22
23
23
24
# @manual=//pytorch/vision:torchvision
24
25
from torchvision .models .quantization import mobilenet_v2
@@ -40,7 +41,6 @@ def get_example_inputs():
40
41
41
42
model = Conv2dModule ()
42
43
example_inputs = Conv2dModule .get_example_inputs ()
43
- CAPTURE_CONFIG = exir .CaptureConfig (enable_aot = True )
44
44
EDGE_COMPILE_CONFIG = exir .EdgeCompileConfig (
45
45
_check_ir_validity = False ,
46
46
)
@@ -59,24 +59,23 @@ def get_example_inputs():
59
59
m = convert_pt2e (m )
60
60
61
61
quantized_gm = m
62
- exported_program = exir .capture (
63
- quantized_gm , copy .deepcopy (example_inputs ), CAPTURE_CONFIG
64
- ).to_edge (EDGE_COMPILE_CONFIG )
62
+ exported_program = to_edge (
63
+ export (quantized_gm , copy .deepcopy (example_inputs )),
64
+ compile_config = EDGE_COMPILE_CONFIG ,
65
+ )
65
66
66
- lowered_export_program = to_backend (
67
- exported_program .exported_program ,
67
+ lowered_export_program = exported_program .to_backend (
68
68
ExamplePartitioner (),
69
69
)
70
70
71
71
print ("After lowering to qnn backend: " )
72
- lowered_export_program .graph .print_tabular ()
72
+ lowered_export_program .exported_program (). graph .print_tabular ()
73
73
74
74
def test_delegate_mobilenet_v2 (self ):
75
75
model = mobilenet_v2 (num_classes = 3 )
76
76
model .eval ()
77
77
example_inputs = (torch .rand (1 , 3 , 320 , 240 ),)
78
78
79
- CAPTURE_CONFIG = exir .CaptureConfig (enable_aot = True )
80
79
EDGE_COMPILE_CONFIG = exir .EdgeCompileConfig (
81
80
_check_ir_validity = False ,
82
81
)
@@ -91,20 +90,22 @@ def test_delegate_mobilenet_v2(self):
91
90
m = convert_pt2e (m )
92
91
93
92
quantized_gm = m
94
- exported_program = exir .capture (
95
- quantized_gm , copy .deepcopy (example_inputs ), CAPTURE_CONFIG
96
- ).to_edge (EDGE_COMPILE_CONFIG )
93
+ exported_program = to_edge (
94
+ export (quantized_gm , copy .deepcopy (example_inputs )),
95
+ compile_config = EDGE_COMPILE_CONFIG ,
96
+ )
97
97
98
- lowered_export_program = to_backend (
99
- exported_program .transform (DuplicateDequantNodePass ()).exported_program ,
98
+ lowered_export_program = exported_program .transform (
99
+ [DuplicateDequantNodePass ()]
100
+ ).to_backend (
100
101
ExamplePartitioner (),
101
102
)
102
103
103
- lowered_export_program .graph .print_tabular ()
104
+ lowered_export_program .exported_program (). graph .print_tabular ()
104
105
105
106
call_deleage_node = [
106
107
node
107
- for node in lowered_export_program .graph .nodes
108
+ for node in lowered_export_program .exported_program (). graph .nodes
108
109
if node .target == executorch_call_delegate
109
110
]
110
111
self .assertEqual (len (call_deleage_node ), 1 )
0 commit comments