PyTorch学习笔记(三)计算图

PyTorch使用动态图技术,下面是一个简单线性变换计算图的搭建实例。

import torch

w=torch.tensor([1.], requires_grad=True)
x=torch.tensor([2.], requires_grad=True)

a=torch.add(w, x)
b=torch.add(w, 1)
y=torch.mul(a, b)

a.retain_grad()
b.retain_grad()  # 保存非叶子节点的梯度,否则方向传播完会被释放掉
y.backward()  # 反向传播
print(w.grad)
print(x.grad)

# 查看叶子节点、梯度、计算方法
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)
print('grad_fn:\n', w.grad_fn, x.grad_fn, a.grad_fn, b.grad_fn, y.grad_fn)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值