faces_server_python_rknpu_o.../app/models/convert_models.py
2025-12-27 15:36:20 +01:00

45 lines
1,020 B
Python

from rknn.api import RKNN
def convert(onnx_path, rknn_path):
print(f"\n=== Converting {onnx_path}{rknn_path} ===")
rknn = RKNN()
# Ottimizzazioni consigliate da Rockchip
rknn.config(
mean_values=[[127.5, 127.5, 127.5]],
std_values=[[128.0, 128.0, 128.0]],
target_platform="rk3588"
)
print("[1] Loading ONNX model...")
ret = rknn.load_onnx(model=onnx_path)
if ret != 0:
print("Error loading ONNX")
return
print("[2] Building RKNN model...")
ret = rknn.build(do_quantization=False)
if ret != 0:
print("Error building RKNN")
return
print("[3] Exporting RKNN model...")
ret = rknn.export_rknn(rknn_path)
if ret != 0:
print("Error exporting RKNN")
return
print("[OK] Conversion completed!")
# Convert SCRFD
convert(
"models/onnx/scrfd_2.5g.onnx",
"models/rknn/scrfd.rknn"
)
# Convert ArcFace
convert(
"models/onnx/arcface_r100.onnx",
"models/rknn/arcface.rknn"
)