File tree 1 file changed +30
-8
lines changed
1 file changed +30
-8
lines changed Original file line number Diff line number Diff line change
1
+ from argparse import ArgumentParser
2
+
1
3
import torch
2
4
from torchvision .models .segmentation import (
3
5
deeplabv3_mobilenet_v3_large ,
16
18
img = torch .rand ((3 , 480 , 640 ))
17
19
batch = preprocess (img ).unsqueeze (0 )
18
20
19
- # Export to ONNX
20
- torch .onnx .export (
21
- model ,
22
- args = (batch ),
23
- f = "deeplab.onnx" ,
24
- verbose = False ,
25
- input_names = ["input" ],
26
- output_names = ["output" ],
21
+ parser = ArgumentParser ()
22
+ parser .add_argument ("-f" , "--filename" , default = "deeplab.onnx" )
23
+ parser .add_argument (
24
+ "--dynamo" , action = "store_true" , help = "Use TorchDynamo-based exporter"
27
25
)
26
+ args = parser .parse_args ()
27
+
28
+ if args .dynamo :
29
+ print ("Exporting model using TorchDynamo..." )
30
+ onnx_prog = torch .onnx .export (
31
+ model ,
32
+ args = (batch ),
33
+ verbose = False ,
34
+ input_names = ["input" ],
35
+ output_names = ["output" ],
36
+ dynamo = True ,
37
+ )
38
+ onnx_prog .optimize ()
39
+ onnx_prog .save (args .filename )
40
+ else :
41
+ print ("Exporting model using TorchScript..." )
42
+ torch .onnx .export (
43
+ model ,
44
+ args = (batch ),
45
+ f = args .filename ,
46
+ verbose = False ,
47
+ input_names = ["input" ],
48
+ output_names = ["output" ],
49
+ )
You can’t perform that action at this time.
0 commit comments