莫烦pytorch(2)

本文详细介绍了如何在PyTorch中将Tensor转换为Variable,Variable的属性及作用,mean操作的使用,并通过示例展示了如何进行反向传播计算梯度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.tensor转变为Variable变量

首先需要解释一个库from torch.autograd import Variable,提到这个库就必须要提到Variable,简而言之,Variable就是一个tensor的外衣,里面有三个属性.data, .grad.grad_fn(老版的是.creator),其中data属性存储着tensor数据,grad属性存储关于该变量的导数(当然只有BP才会有),grad_fn是代表该变量的创造者。这个库呢就是给我提供了Variable。

											在这里插入图片描述

import torch
from torch.autograd import Variable

tensor=torch.FloatTensor([[1,2],[3,4]])
variable=Variable(tensor,requires_grad=True)
print(tensor)       # [torch.FloatTensor of size 2x2]
print(variable.data)#存放了tensor的数据
print(variable)     # [torch.FloatTensor of size 2x2]
print(variable.grad_fn)

在这里插入图片描述
这个里的required_grad指的是参加BP,如果是False就是不参加BP

2.mean的操作

t_out=torch.mean(tensor*tensor)
v_out=torch.mean(variable*variable)

print(t_out)
print(v_out)    # 7.5

在这里插入图片描述

3.进行BP,打印梯度

t_out=torch.mean(tensor*tensor)
v_out=torch.mean(variable*variable)
v_out.backward()#进行BP
print(variable.grad)

print(variable)

print(variable.data)

print(variable.data.numpy())#变成numpy形式

在这里插入图片描述

————————————————————————————————————————————————
我是一名机器学习的初学者,是万千小白中努力学习中的一员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值