PyTorch Notes
Part 0 简介
PyTorch 是目前最流行的深度学习框架之一。
参考资料:
- PyTorch官方网站
- PyTorch+Windows 配置:该贴在我的机器上可行
- PyTorch中文文档
Part 1
with torch.no_grad()
PyTorch 中的一个上下文管理器(context manager),提供一个临时的运行环境,在该环境中,所有 PyTorch 的操作不会被自动求导(AutoGrad),即,不会对计算图进行记录,从而节省内存并提高运行速度。
具体地,在深度学习中,训练阶段往往需要计算模型的梯度并使用梯度更新模型的参数,以进行反向传播和优化;在测试阶段,通常只需要进行前向传播以获取模型的输出,而不需要再计算梯度,因此,此时使用 with torch.no_grad()
可以节约资源,避免不必要的计算。
e.g.
1 | lr = 0.03 |
该代码片段来自d2l,其中,with torch.no_grad()
环境下进行 loss
的计算,用以直观表现每一个 epoch 后的优化效果(即应当观察到 loss 越来越小),此时并非要进行训练,因此只进行前向传播和计算(预测)即可。
This is copyright.