pytorch中的train.eval() 与 with torch.no_grad()的使用

一、train.eval(),用在模型的测试阶段,目的是冻结normalization、dropout层的作用,直接使用其结果,不再进行重新的计算。

二、在神经网络结构中,tenor的计算操作,默认是要进行计算图的构建的,为了不部分内容不进行计算图的构建,不进行反向传播操作,需要使用with torch.no_grad():进行内容的强制。可以看下两种使用的区别:



你可能感兴趣的:(pytorch中的train.eval() 与 with torch.no_grad()的使用)