Pytorch报错:'UserWarning: RNN module weights are not part of single contiguous chunk of memory....'

最近在跑代码的时候遇到了一个问题,代码里的网络有使用到RNN,错误信息如下:

‘UserWarning: RNN module weights are not part of single contiguous chunk of memory. This means they need to be compacted at every call, possibly greately increasing memory usage. To compact weights again call flatten_parameters()’

其实这个并不是一个错误,只是一个警告,只是在我epoch里打印每一个step的loss值的时候它都会显示一次。于是我仔细看了这个警告,其实就是说RNN的权值并不是单一连续的,这些权值在每一次RNN被调用的时候都会被压缩,会很大程度上增加显存消耗。
警告里也给出了解决办法,使用flatten_parameters()把权重存成连续的形式,可以提高内存利用率。
具体的使用方法就是在所使用的RNN模块的forward函数下加上

self.rnn.flatten_parameters()  #self.rnn是我所使用的RNN
  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值