Ascend-SACT/MOVA-720p
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

Inference Accuracy Tuning

1. Random Number Fixing

Save random numbers on the GPU. Code location: mova/diffusion/pipelines/pipeline_mova.py line 399

        torch.save(latents.to("cpu"), "/home/MOVA/output/latents.pt")

将该pt文件传到npu环境,在mova/diffusion/pipelines/pipeline_mova.py 389行加载

        latents = torch.load("/home/MOVA/gpu-pre/latents.pt", weights_only=False, map_location='cpu').to("npu")

同时GPU也在mova/diffusion/pipelines/pipeline_mova.py 399行加载该文件;注释 torch.save操作

        latents = torch.load("/home/MOVA/gpu-pre/latents.pt", weights_only=False, map_location='cpu').to("cuda")

2、算子替换

修改npu,mova/utils/adapter.py

def apply_rotary_pos_emb_adapter(q, k, cos, sin, position_ids=None, unsqueeze_dim=1):
      return _apply_rotary_pos_emb(q, k, cos, sin, position_ids, unsqueeze_dim)