Skip to content

Commit f0cea8b

Browse files
committed
build multiple suffixes and socs at once
1 parent 85c3796 commit f0cea8b

File tree

1 file changed

+62
-59
lines changed

1 file changed

+62
-59
lines changed

conv.py

Lines changed: 62 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,63 @@
11
from rknn.api import RKNN
2-
3-
INPUT_MODEL = "yolov8x.onnx"
4-
WIDTH = 320
5-
HEIGHT = 320
6-
OUTPUT_MODEL_BASENAME = 'yolov8x'
7-
QUANTIZATION = False
8-
DATASET = './dataset_coco10.txt'
9-
10-
# Config
11-
MEAN_VALUES = [[0, 0, 0]]
12-
STD_VALUES = [[255, 255, 255]]
13-
QUANT_IMG_RGB2BGR = True
14-
QUANTIZED_DTYPE = "asymmetric_quantized-8"
15-
QUANTIZED_ALGORITHM = "normal"
16-
QUANTIZED_METHOD = "channel"
17-
FLOAT_DTYPE = "float16"
18-
OPTIMIZATION_LEVEL = 2
19-
TARGET_PLATFORM = "rk3588"
20-
CUSTOM_STRING = None
21-
REMOVE_WEIGHT = None
22-
COMPRESS_WEIGHT = False
23-
SINGLE_CORE_MODE = False
24-
MODEL_PRUNNING = False
25-
OP_TARGET = None
26-
DYNAMIC_INPUT = None
27-
28-
29-
OUTPUT_MODEL = OUTPUT_MODEL_BASENAME + '-' + str(WIDTH) + 'x' + str(HEIGHT) + ".rknn"
30-
31-
rknn = RKNN()
32-
rknn.config(mean_values=MEAN_VALUES,
33-
std_values=STD_VALUES,
34-
quant_img_RGB2BGR=QUANT_IMG_RGB2BGR,
35-
quantized_dtype=QUANTIZED_DTYPE,
36-
quantized_algorithm=QUANTIZED_ALGORITHM,
37-
quantized_method=QUANTIZED_METHOD,
38-
float_dtype=FLOAT_DTYPE,
39-
optimization_level=OPTIMIZATION_LEVEL,
40-
target_platform=TARGET_PLATFORM,
41-
custom_string=CUSTOM_STRING,
42-
remove_weight=REMOVE_WEIGHT,
43-
compress_weight=COMPRESS_WEIGHT,
44-
single_core_mode=SINGLE_CORE_MODE,
45-
model_pruning=MODEL_PRUNNING,
46-
op_target=OP_TARGET,
47-
dynamic_input=DYNAMIC_INPUT)
48-
49-
# if rknn.load_pytorch("./input/" + INPUT_MODEL, [[HEIGHT, WIDTH, 3]]) != 0:
50-
if rknn.load_onnx("./input/" + INPUT_MODEL) != 0:
51-
print('Error loading model.')
52-
exit()
53-
54-
if rknn.build(do_quantization=QUANTIZATION, dataset=DATASET) != 0:
55-
print('Error building model.')
56-
exit()
57-
58-
if rknn.export_rknn("./output/" + OUTPUT_MODEL) != 0:
59-
print('Error exporting rknn model.')
60-
exit()
2+
import os
3+
4+
for suffix in ["n", "s", "m", "l", "x"]:
5+
for soc in ["rk3562","rk3566", "rk3568", "rk3588"]:
6+
INPUT_MODEL = 'yolov8{}.onnx'.format(suffix)
7+
WIDTH = 320
8+
HEIGHT = 320
9+
OUTPUT_MODEL_BASENAME = 'yolov8{}'.format(suffix)
10+
QUANTIZATION = False
11+
DATASET = './dataset_coco10.txt'
12+
13+
# Config
14+
MEAN_VALUES = [[0, 0, 0]]
15+
STD_VALUES = [[255, 255, 255]]
16+
QUANT_IMG_RGB2BGR = True
17+
QUANTIZED_DTYPE = "asymmetric_quantized-8"
18+
QUANTIZED_ALGORITHM = "normal"
19+
QUANTIZED_METHOD = "channel"
20+
FLOAT_DTYPE = "float16"
21+
OPTIMIZATION_LEVEL = 2
22+
TARGET_PLATFORM = soc
23+
CUSTOM_STRING = None
24+
REMOVE_WEIGHT = None
25+
COMPRESS_WEIGHT = False
26+
SINGLE_CORE_MODE = False
27+
MODEL_PRUNNING = False
28+
OP_TARGET = None
29+
DYNAMIC_INPUT = None
30+
31+
OUTPUT_MODEL_FILE = "./output/{}/{}-{}x{}-{}.rknn".format(soc, OUTPUT_MODEL_BASENAME, WIDTH, HEIGHT, soc)
32+
os.makedirs("./output/{}".format(soc), exist_ok=True)
33+
34+
rknn = RKNN()
35+
rknn.config(mean_values=MEAN_VALUES,
36+
std_values=STD_VALUES,
37+
quant_img_RGB2BGR=QUANT_IMG_RGB2BGR,
38+
quantized_dtype=QUANTIZED_DTYPE,
39+
quantized_algorithm=QUANTIZED_ALGORITHM,
40+
quantized_method=QUANTIZED_METHOD,
41+
float_dtype=FLOAT_DTYPE,
42+
optimization_level=OPTIMIZATION_LEVEL,
43+
target_platform=TARGET_PLATFORM,
44+
custom_string=CUSTOM_STRING,
45+
remove_weight=REMOVE_WEIGHT,
46+
compress_weight=COMPRESS_WEIGHT,
47+
single_core_mode=SINGLE_CORE_MODE,
48+
model_pruning=MODEL_PRUNNING,
49+
op_target=OP_TARGET,
50+
dynamic_input=DYNAMIC_INPUT)
51+
52+
# if rknn.load_pytorch("./input/" + INPUT_MODEL, [[HEIGHT, WIDTH, 3]]) != 0:
53+
if rknn.load_onnx("./input/" + INPUT_MODEL) != 0:
54+
print('Error loading model.')
55+
exit()
56+
57+
if rknn.build(do_quantization=QUANTIZATION, dataset=DATASET) != 0:
58+
print('Error building model.')
59+
exit()
60+
61+
if rknn.export_rknn(OUTPUT_MODEL_FILE) != 0:
62+
print('Error exporting rknn model.')
63+
exit()

0 commit comments

Comments
 (0)