关于模型自动迁移npu
收藏回复举报
关于模型自动迁移npu
t('forum.solved') 已解决
发表于2025-05-23 10:16:05
0 查看
 

我的模型功能是一个语音文件转文本的模型(输入的语音文件每次都不一样),目前迁移到npu使用的是自动迁移,目前有几个疑惑的地方 

import torch_npu 

from torch_npu.contrib import transfer_to_npu 

 

1.关于torch_npu.npu.set_compile_mode(jit_compile=False)参数,这个实测效率确实提升特别大,目前我的疑问是我的模型是固定的,只是每次请求的语音文件不一样,那我这个属于动态shape 

  还是静态shape呢,不清楚动态静态针对的是模型处理流程还是输入数据。如果是针对模型,那这个参数提升大还能理解;如果针对数据,我每次语音文件不一样,应该是jit_compile=True提升更大 应该 

2.npu内存不释放的问题 ,一下是我调用torch_npu.npu.empty_cache() 前后内存占比 ,看打印是该方法起作用了,但是还是随着调用npu它的内存(npu-smi info看到的Memory-Usage(MB)会一直增长(相同文件是不会增长的),因为使用自动迁移,也没有原始的申请内存代码,所以如何解决这个问题呢(查询的是第一次调用会把类似于中间结果缓存到内存,第二次如果是相同文件会直接服用第一次的缓存,提升效率,但是实际上都是文件不一样,所以会导致npu内存越来越大)

        print(f"已分配内存: {torch_npu.npu.memory_allocated()/1024**2:.2f} MB") 

        print(f"缓存内存: {torch_npu.npu.memory_reserved()/1024**2:.2f} MB") 

        torch_npu.npu.empty_cache() 

        print(f"已分配内存: {torch_npu.npu.memory_allocated()/1024**2:.2f} MB") 

        print(f"缓存内存: {torch_npu.npu.memory_reserved()/1024**2:.2f} MB")

       已分配内存: 938.31 MB 

      缓存内存: 1102.00 MB 

      调用torch_npu.npu.empty_cache() 

      已分配内存: 938.31 MB 

      缓存内存: 956.00 MB

我要发帖子