Examples of Custom Migration Rules

{
    "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"
            }
        ]
    }
}
Table 1 Parameters

Parameter

Description

ArgsModifyRule

Function parameter modification

func_name

Function name

arg_idx

Parameter location

arg_new

New parameter

FuncNameModifyRule

Function name modification

ModuleNameModifyRule

Module name modification

old_name

Old name

new_name

New name

parent_module

Full name of the parent module

For example, torch.cuda.amp indicates that the full name of the parent module of amp is torch.cuda.

To ensure a correct migration result, define the migration rules in the sequence of ArgsModifyRule, FuncNameModifyRule, and ModuleNameModifyRule based on the sample file.