请问,征程5的量化模型qat_xxx.pth.tar怎么转换成征程6可部署模型?
我有一个征程5量化的qat_xxx.pth.tar模型,在征程5是用compile_perf.py转换成可部署的xxx.hbm模型。请问是否可以在征程6上直接转成征程6可部署的模型?
如果可以,请问参考哪些代码?转换的流程是什么样子的?
我试着在征程6里面找到了类似的compile_perf_hbir.py和export_hbir.py,了解到征程6上转可部署模型可能涉及到xxx.bc,xxx.mlir和.hbir格式的模型文件,请问具体是怎么操作?
另外我试着跑了下用征程5的qat模型试着跑了下export_hbir.py,可是报如下错误,请问怎么解决?
Traceback (most recent call last): File "tools/export_hbir.py", line 295, in export_hbir(args.config, args.save_path, args.with_check, args.debug) File "tools/export_hbir.py", line 286, in export_hbir hbir_exporter(debug) File "tools/export_hbir.py", line 142, in __call__ qat_hbir = export( File "/usr/local/lib/python3.8/dist-packages/horizon_plugin_pytorch/utils/deprecate.py", line 285, in wrapped_func return func(*args, **kwargs) File "/usr/local/lib/python3.8/dist-packages/horizon_plugin_pytorch/utils/typeguard.py", line 1076, in wrapper retval = func(*args, **kwargs) File "/usr/local/lib/python3.8/dist-packages/horizon_plugin_pytorch/quantization/hbdk4/export_hbir/export_hbir.py", line 118, in export ret = Exporter.export( File "/usr/local/lib/python3.8/dist-packages/horizon_plugin_pytorch/quantization/hbdk4/export_hbir/export_hbir.py", line 833, in export FuncOp.from_py_func(*hbir_inputs, name=name)(forward) File "/usr/local/lib/python3.8/dist-packages/hbdk4/compiler/dialects/func.py", line 195, in decorator return_values = f(*func_args, **func_kwargs) File "/usr/local/lib/python3.8/dist-packages/horizon_plugin_pytorch/quantization/hbdk4/export_hbir/export_hbir.py", line 811, in forward ret = model(*structured_input) File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1208, in _call_impl result = forward_call(*input, **kwargs) File "/mnt/luci-nas/xiangyang_j6/mag_net/mag/models/structures/multi_modality_fusion.py", line 221, in forward bev_feat = self.modality_fuser(cam_feats=bev_feat, File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1208, in _call_impl result = forward_call(*input, **kwargs) File "/mnt/luci-nas/xiangyang_j6/mag_net/mag/models/task_modules/view_fusion/modality_fuser.py", line 84, in forward fused_feats = self.floatFs.cat(fused_feats, dim=1) File "/usr/local/lib/python3.8/dist-packages/horizon_plugin_pytorch/utils/model_helper.py", line 112, in _call_impl result = func(mod, *input, **kwargs) File "/usr/local/lib/python3.8/dist-packages/horizon_plugin_pytorch/utils/typeguard.py", line 1076, in wrapper retval = func(*args, **kwargs) File "/usr/local/lib/python3.8/dist-packages/horizon_plugin_pytorch/nn/qat/functional_modules.py", line 122, in cat return self._cat(x, dim) File "/usr/local/lib/python3.8/dist-packages/horizon_plugin_pytorch/nn/qat/functional_modules.py", line 136, in _cat r = torch.cat( File "/usr/local/lib/python3.8/dist-packages/horizon_plugin_pytorch/quantization/hbdk4/export_hbir/export_hbir.py", line 578, in __torch_function__ raise e File "/usr/local/lib/python3.8/dist-packages/horizon_plugin_pytorch/quantization/hbdk4/export_hbir/export_hbir.py", line 561, in __torch_function__ output = converter.convert( File "/usr/local/lib/python3.8/dist-packages/horizon_plugin_pytorch/quantization/hbdk4/export_hbir/export_hbir.py", line 195, in convert hbir_output = cls.convert_with_hbir( File "/usr/local/lib/python3.8/dist-packages/horizon_plugin_pytorch/quantization/hbdk4/export_hbir/torch_registry.py", line 195, in convert_with_hbir return hbir_func(*args, **kwargs, output_type=output_type) File "/usr/local/lib/python3.8/dist-packages/hbdk4/compiler/ops/hbir.py", line 379, in concat _hbdk.infer_type_if_failed_infer_shape(op) SystemError: returned a result with an error set
代码中与self.Floats.cat相关的代码为
from horizon_plugin_pytorch.nn.quantized import FloatFunctional
self.floatFs = FloatFunctional()


