pytorch中的 requires_grad和volatile
简单总结
(1)requires_grad = Fasle 时不需要更新梯度, 适用于冻结某些层的梯度;
(2)volatile = True 相当于 requires_grad = False。有时候,我们可能不希望autograd对tensor求导。认为求导需要缓存许多中间结构,增加额外的内存/显存开销,那么我们可以关闭自动求导。对于不需要反向传播的情景(如inference,即测试推理时),关闭自动求导可实现一定程度的速度提升,并节省约一半显存,因其不需要分配空间计算梯度。这个现在已经取消了,使用with torch.no_grad()来替代。
上图中,y依赖于w和x,虽然 w.requires_grad = True,但是 y 的 requires_grad 依旧为 False。
另一种不进行求导的方式为: