How to keep origin names of params instead of using the ones after relay.tranform

Hello,

I am working on the frontend flow of TVM, using onnx as the input form and get the RELAY form to do the transform. But I find the names of the params will change during the transformation of relay.

First, I get the mod and params by using function

mod, params = relay.frontend.from_onnx(onnx_model, {input_name_onnx:input_shape})
if params:
    mod['main'] = bind_params_by_name(mod['main'], params)

The params here using the origin names same as the ones in ONNX format. Then, I use relay.transform functions to transform the RELAY IR like below.

target = "my_target"
patterns = my_target_patterns

mod = relay.transform.MergeComposite(patterns)(mod)
mod = relay.transform.AnnotateTarget(target)(mod)
mod = relay.transform.PartitionGraph()(mod)

target = "llvm -mtriple=aarch64-linux-gnu -mattr=+neon"
with tvm.transform.PassContext(opt_level=3, disabled_pass=["AlterOpLayout"]):
    lib, params = relay.build(mod, target=target, params=params)

Here the new params I got is another new dict. It has the same value of different params’ names as the keys of the dict.

I wonder how I can keep the origin name of the params till the last step. Maybe it is hard to keep but I think there might be some methods to decorate the last params maybe in the JSON format in the lib ?

Thanks in advance.