若迁移时启用了“-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的顺序来自定义迁移规则。