首页 > 系统相关 >减小运行内存的方法

减小运行内存的方法

时间:2022-10-06 21:33:37浏览次数:47  
标签:减小 float16 cache 变量 torch inplace 内存 运行

 

1、 写成函数的形式,通过调用函数,返回想要的结果,中间变量在返回后会清空

函数返回值越少越好,_ 虽然不会显示变量,但会占内存

2、清除中间变量函数

if hasattr(torch.cuda, 'empty_cache'):
    torch.cuda.empty_cache()

3、设置变量初始值,循环结束后,变量恢复初始状态

4、验证集和测试集训练不使用梯度

with torch.no_grad(): 

 对于不需要bp的forward, 在参数更新时会节省很多内存

5、使用float16精度混合计算 torch.astype('float16')

6、尽可能使用inplace操作,

inplace=True指的是进行原地操作,选择进行原地覆盖运算。 比如 x+=1则是对原值x进行操作,然后将得到的结果又直接覆盖该值。

7、将变量拆分成机器可以运行的大小,分别进行参数更新(等同于一个大数据的更新)

8、注意显卡是否都占满,没有占满的话使用并行运算

 

标签:减小,float16,cache,变量,torch,inplace,内存,运行
From: https://www.cnblogs.com/fly-learn/p/16758559.html

相关文章