自定义迁移规则
若迁移时启用了“-r/--rule”参数,可以参考如下样例编写自定义迁移规则json文件。
{
"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"
}
]
}
}
参数 |
说明 |
|---|---|
ArgsModifyRule |
函数参数修改。 |
func_name |
函数名称。 |
arg_idx |
参数的位置。 |
arg_new |
新的参数。 |
FuncNameModifyRule |
函数名称修改。 |
ModuleNameModifyRule |
模块名称修改。 |
old_name |
旧名称。 |
new_name |
新名称。 |
parent_module |
父级模块全名。 例如torch.cuda.amp,amp的父级模块全名为torch.cuda。 |
为了保证迁移结果的正确性,请根据样例文件,按照ArgsModifyRule、FuncNameModifyRule和ModuleNameModifyRule的顺序来自定义迁移规则。
父主题: 附录