Pytorch.tensor 相关用法

Torch.tensor.backward()方法的使用举例

理解optimizer.zero_grad(), loss.backward(), optimizer.step()的作用及原理

Autograd: 自动求导

python 复制代码
import torch

a=torch.randn(2,2) # tensor默认requires_grad=False
a=((a*3)/(a-1))
print(a.requires_grad)
print(a.grad_fn) # leaf tensor的.grad_fn属性为None

b = torch.tensor([4.0, 3.0, 2.0], requires_grad=True)
print(b.requires_grad)
print(b.grad_fn) # leaf tensor的grad_fn属性为None

c = (a*a).sum()
print(c.requires_grad) # 由于a.requires_grad=False,所以c.requires_grad=False
print(c.grad_fn) # 由于自变量tensor,也即a的requires_grad=False,作用在其上的运算不会被跟踪,所以c.grad_fn=None

a.requires_grad_(True) # 通过内置requires_grad_()方法改变其requires_grad属性
print(a.requires_grad) # True
d = (a*a).sum()
print(d.requires_grad) # 由于a.requires_grad=True,所以d.requires_grad=True
print(d.grad_fn) # 由于a.requires_grad=True,所以d.grad_fn有内容

# https://blog.csdn.net/wangweiwells/article/details/101223420
# 但requires_grad属性为True并不意味着可以得到对其的gradient,还要看其是否为leaf tensor
e1 = torch.rand(10, requires_grad=True) + 2
print(e1.requires_grad) # True
print(e1.is_leaf) # False,因为e是由加法运算得到的,所以不是leaf tensor,不能得到对e的梯度
# 但所有requires_grad=False的Tensor都为leaf Tensor(同时也不能得到对它们的梯度)
e2 = torch.rand(10) + 2
print(e2.requires_grad) # False
print(e2.is_leaf) # True
e3 = e2.sum()
print(e3.requires_grad) # False
print(e3.grad_fn) # None
e3.backward() # 由于e3.grad_fn=None,所以此处会报错

# 评估模型等情况下,我们不需要跟踪计算历史或使用内存,此时可用torch.tensor.detach()或以下方法
with torch.no_grad():
    print(d.requires_grad) # True
    f = (a*a).sum()
    print(f.requires_grad) # False
相关推荐
只是甲3 小时前
Text2SQL 系列博客 02:技术原理深度剖析 - 从自然语言到 SQL 的完整链路
人工智能·text2sql·nl2sql·ai agent·自助数据分析·data agent·agentic 数据洞察
懷淰メ4 小时前
【AI赋能】基于PyQt+YOLO+DeepSeek水上漂浮物检测系统(详细介绍)
人工智能·yolo·目标检测·计算机视觉·pyqt·漂浮物·水上漂浮物
EQUINOX14 小时前
【论文精读】| CLIP精读
大数据·人工智能
PC2005-cloud4 小时前
博文已索引但不展示:一次 Bing SEO 问题排查记录
服务器·人工智能
weixin_408099674 小时前
2026 图片去文字 API 实战:AI一键去除图片文字(附 Python / Java / PHP / JS 完整代码)
人工智能·api接口·图片去水印·石榴智能·ai图像修复·图片去文字
幻影123!4 小时前
从零训练一个会下五子棋的AI
python·深度学习·神经网络·强化学习·五子棋·alpha zero·mokugo
greenbbLV4 小时前
2026节日慰问品政策解读:合规标准升级与福利行业新趋势
人工智能·节日
奈斯先生Vector5 小时前
告别工具碎片化:基于 Nano Banana 全模态 AI 聚合架构搭建“文本-图像-视频”自动化协同生产线
运维·数据库·人工智能·架构·自动化·aigc·音视频
领麦微红外5 小时前
国产MEMS红外测温传感器:传感器+算法+产品级出厂标定一站式交付模式深度解读
人工智能·硬件工程·产品经理
mingo_敏5 小时前
DeepAgents : 检索(Retrieval)
人工智能·深度学习·langchain