ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

计算图与动态图

2021-01-24 19:00:00  阅读:188  来源: 互联网

标签:None leaf 动态图 torch 计算 grad fn tensor


一、计算图

 

计算图主要是描述运算的有向无环图,计算图主要有两个部分:结点和边,节点可以表示数据,边表示数据的运算。

叶子结点: 用户创建的结点称为叶子结点

torch.Tensor: data、dtype、shape、device、requires_grad、grad、grad_fn、is_leaf

is_leaf: 指张量是否为叶子结点

grad_fn:  用来记录创建张量时所用的方法

 

二、动态图

 

动态图: 运算和搭建同时进行,主要特点为 灵活、易调节

静态图: 先搭建图,后进行运算,主要特点为 高效、不灵活

>>> import torch
>>> w = torch.tensor([1.],requires_grad=True)
>>> x = torch.tensor([3.],requires_grad=True)
>>> a = torch.add(w,x)
>>> b = torch.add(w,1)
>>> y = torch.mul(a,b)
>>> y.backward()
>>> print(w.grad)
tensor([6.])
>>> print("is_leaf:",w.is_leaf,x.is_leaf,a.is_leaf,b.is_leaf,y.is_leaf)
is_leaf: True True False False False
>>> print("gradient:",w.grad,x.grad,a.grad,b.grad,y.grad)
gradient: tensor([6.]) tensor([2.]) None None None
>>> print("grad_fn:",w.grad_fn,x.grad_fn,a.grad_fn,b.grad_fn,y.grad_fn)
grad_fn: None None <AddBackward0 object at 0x106007f28> <AddBackward0 object at 0x106007c88> <MulBackward0 object at 0x106007c18>

 

 

 

 

 

 

 

 

 

 

 

 

标签:None,leaf,动态图,torch,计算,grad,fn,tensor
来源: https://blog.csdn.net/weixin_41362649/article/details/113094360

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有