如何编译模型

HAT集成了编译定点模型的能力,将pytorch的模型编译为可以上板运行的形式。用户可以选择下面的方式来编译模型。

输入为 config 文件

此方式使用 tools/compile_perf_hbir.py 脚本,命令如下:

python3 tools/compile_perf_hbir.py -c {$CONFIG_FILE}

此命令会从config文件的 hbir_compiler 字段获取编译相关配置,举例说明如下:

import horizon_plugin_pytorch hbir_compiler = dict( march=March.NASH_M, # 可以选择 NASH_E, NASH_M opt=2, # 优化等级,可以选择 0, 1, 2,优化程度从低到高 jobs=32, # 多线程编译 debug=False, # 是否开启debug模式 only_export=args.only_export, #是否只是导出编译前的hbir layer_details=True, # 是否输出每层的性能情况 input_source=["pyramid"], # 模型上板时的输入来源 model_path="./qat.bc", # qat 模型的路径 out_path="tmp_compile/model.hbm", # 编译出的模型文件路径 hbdk3_compatible_mode=False, # 是否编译兼容模式的hbm )

编译完成后,会生成以下几个文件:

  • tmp_compile/model.hbm :编译出的模型文件。