| |
| |
|
|
| from rknn.api import RKNN |
| import os |
| import numpy as np |
|
|
| def main(): |
| |
| rknn = RKNN(verbose=True) |
|
|
| |
| ONNX_MODEL = "F5_Transformer_opset19.onnx" |
| |
| RKNN_MODEL = "F5_Transformer_opset19.rknn" |
|
|
| |
| print("--> Config model") |
| ret = rknn.config(target_platform="rk3588", |
| dynamic_input=None, |
| disable_rules=[]) |
| if ret != 0: |
| print('Config model failed!') |
| exit(ret) |
|
|
| |
| print("--> Loading model") |
| ret = rknn.load_onnx(model=ONNX_MODEL, |
| inputs=['noise', 'rope_cos_q', 'rope_sin_q', 'rope_cos_k', 'rope_sin_k', 'cat_mel_text', 'cat_mel_text_drop', 'time_step.1'], |
| input_size_list=[[1, 1536, 100], [2, 16, 1536, 64], [2, 16, 1536, 64], [2, 16, 64, 1536], [2, 16, 64, 1536], [1, 1536, 612], [1, 1536, 612], [1]]) |
| if ret != 0: |
| print('Load model failed!') |
| exit(ret) |
|
|
| |
| print("--> Building model") |
| ret = rknn.build(do_quantization=False) |
| if ret != 0: |
| print('Build model failed!') |
| exit(ret) |
|
|
| |
| print("--> Export RKNN model") |
| ret = rknn.export_rknn(RKNN_MODEL) |
| if ret != 0: |
| print('Export RKNN model failed!') |
| exit(ret) |
|
|
| print(f'Done! The converted RKNN model has been saved to: ' + RKNN_MODEL) |
| rknn.release() |
|
|
| if __name__ == '__main__': |
| main() |
|
|