PyTorch学习笔记(2)计算图
程序员文章站
2022-03-21 19:46:30
...
计算图
是用来描述运算的有向无环图
两个主要元素 结点Node 边 Edge
结点表示数据 向量 矩阵 张量
边表示运算 加减乘除卷积
使梯度求导更加方便
import torch
w = torch.tensor([1.],requires_grad=True)
x = torch.tensor([2.],requires_grad=True)
a = torch.add(w,x)
# 保存相应张量的梯度
a.retain_grad()
b = torch.add(w,1)
y = torch.mul(a,b)
y.backward()
print(w.grad)
# 叶子节点:用户创建的节点成为叶子节点 如X与W
# is_leaf 指示张量是否为叶子节点
print("is leaf:\n",w.is_leaf,x.is_leaf,a.is_leaf,b.is_leaf,y.is_leaf)
# 查看梯度
print("gradient:\n",w.grad,x.grad,a.grad,b.grad,y.grad)
根据计算图搭建方式,可以将计算图分为静态图和动态图
动态图 运算与搭建同时进行 灵活 易调节
静态图 先搭建 后运算 高效 不灵活
上一篇: 2.3 自动求梯度
下一篇: 找到字符串的最长无重复字符子串