使用get_op_map接口获取原始网络与迁移后网络内算子的映射关系

PyTorch网络迁移后(执行获取基于GPU执行模型训练生成的数据文件获取基于昇腾AI处理器执行模型训练生成的数据文件相当于完成了网络迁移),可能有部分算子名称发生改变,此时进行精度比对可能无法为新算子匹配到正确的标准算子完成比对。那么需要使用get_op_map接口获取原始网络与迁移后网络内算子的映射关系,为新算子匹配到正确的标准算子。

需要在安装开启dump功能的torch环境上进行操作。

  1. 根据Dump数据前环境准备完成环境安装。
  2. 进入Python解释器,导入torch,调用torch.utils.get_op_map()获取映射关系, 示例如下:

    import torch
    ir_map, param_map = torch.utils.get_op_map()
    # 返回值, ir_map是ir_name之间的映射关系,param_map是算子参数名称的映射关系
    ir_map = {'CudnnBatchNormBackward': 'NativeBatchNormBackward', 'NativeBatchNormBackward': 'CudnnBatchNormBackward', 'CudnnConvolutionBackward': 'NpuConvolutionBackward', 'NpuConvolutionBackward': 'CudnnConvolutionBackward'}
    param_map = {'CudnnBatchNormBackward': {'epsilon': 'eps'}, 'NativeBatchNormBackward': {'eps': 'epsilon'}, 'CudnnConvolutionBackward': {'self': 'input'}, 'NpuConvolutionBackward': {'input': 'self'}}

    执行此操作后不会输出文件,可直接执行Tensor比对