Pytorch 里面torch.no_grad 和model.eval(), model.train() 的作用

Pytorch 里面torch.no_grad 和model.eval(), model.train() 的作用_第1张图片

torch.no_grad: 影响模型的自微分器,使得其停止工作;这样的话,数据计算的数据就会变快,内存占用也会变小,因为没有了反向梯度计算,当然,我哦们也无法做反向传播。

model.eval() 和model.train() : 告诉模型中的所有层,目前处于的状态,是训练还是测试阶段,从而每一层做出相应的行为和动作。batchnorm和dropout层会因为状态的不同,而有不同的行为和反应。

你可能感兴趣的:(深度学习知识点浅析,pytorch,人工智能,python)