PyTorch中的张量及应用
发布时间
阅读量:
阅读量
本文主要聚焦于 PyTorch 框架中 tensor 的相关特性,深入探讨了张量的梯度计算机制、跨设备的数据迁移方式以及神经网络中参数的更新策略等主题。目标读者为已具备一定 PyTorch 使用经验的学习者。文中所采用的代码示例均基于 Python 3 与 PyTorch 1.1 版本,如发现内容存在疏漏或表述不清之处,欢迎在评论区提出宝贵意见并展开交流。
文章整体内容划分为以下六个章节:
- tensor.requires_grad
- torch.no_grad()
- 反向传播过程与网络参数更新
- tensor.detach()
- CPU 和 GPU 的数据处理
- tensor.item()
1. requires_grad
在构建一个张量 (tensor) 的过程中,若未进行特别设定,则该张量默认处于非求导状态。我们可通过 tensor.requires_grad 属性来判断某个张量是否具备求导功能。
在涉及张量运算的场景中,只要参与运算的输入中存在至少一个需要求导的张量,那么最终的输出结果也必然需要进行求导;反之,仅当所有输入均不需求导时,输出结果才会被设定为非求导状态 [1]。
为了更直观地理解这一规则
全部评论 (0)
还没有任何评论哟~
