自定义迁移规则样例

{
    "rules": {
        "ArgsModifyRule": [
            {
                "func_name": "name1",
                "arg_idx": 0,
                "arg_new": "agrs0"
            },
            {
                "func_name": "name2",
                "arg_idx": 0,
                "arg_new": "agrs0"
            }
        ],
        "FuncNameModifyRule": [
            {
                "old_name": "func",
                "new_name": "new_func"
            }
        ],
        "ModuleNameModifyRule": [
            {
                "old_name": "module",
                "new_name": "new_module",
                "parent_module":"parent_module"
            }
        ]
    }
}
表1 参数说明

参数

说明

ArgsModifyRule

函数参数修改

func_name

函数名称

arg_idx

参数的位置

arg_new

新的参数

FuncNameModifyRule

函数名称修改

ModuleNameModifyRule

模块名称修改

old_name

旧名称

new_name

新名称

parent_module

父级模块全名

例如torch.cuda.amp,amp的父级模块全名为torch.cuda。

为了保证迁移结果的正确性,请根据样例文件,按照ArgsModifyRule、FuncNameModifyRule和ModuleNameModifyRule的顺序来自定义迁移规则。