【Pytorch Tutorial】 两个标志:requires_grad 和 volatile

所有的Variable都有requires_grad 和 volatile这两个标志。

1. requires_grad

requires_grad = True,则说明需要求梯度;= False,则不需要求梯度。

利用requires_grad可以节省计算资源,提高效率,比如:当我们只优化新的fc层,那么只需要新的fc的梯度,中间层(fc之前的层)则不需要求梯度,那么就可以将中间层的requires_grad设置为False,系统将不会求中间层的梯度,节省了资源和时间,即“排除子图”。

 

2. volatile

volatile = True,则requires_grad = False;Vice Versa。

volatile应用于inference更合适,不会有缓存,占用资源最小。

注意:如果a是requires_grad=True,b是requires_grad=False,则c=a+b是requires_grad=True;同样的道理应用于volatile。

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值