(四)PyTorch学习笔记——PyTorch学习笔记——Torch张量库、Variable变量和自动求导

1、Torch张量库

张量是一个可以被超过二维索引的矩阵的一般化,可以是n维,用法类似numpy

2、Variable变量

变量知道怎么创建的它们自己的过程,比Tensor多了grad_fn等额外的东西

3、自动求导

在任意变量上使用.backward()将会运行反向,从它开始。运行这个s.backward()很多次,将进行梯度的累积(这里x是关于s的变量,与具体值无关,求得x的梯度x.grad=[1,1,1];运行2次则是[2,2,2];)

# 变量围绕tensor对象
x = autograd.Variable(torch.Tensor([1., 2., 3]), requires_grad=True)
# 您可以使用.data属性访问数据.
print(x.data)

# 你也可以用变量来做与张量相同的运算.
y = autograd.Variable(torch.Tensor([4., 5., 6]), requires_grad=True)
z = x + y
print(z.data)

# 我们来将z中所有项作和运算
s = z.sum()
print(s)
print(s.grad_fn)

# 但是z知道一些额外的东西.
print(z.grad_fn)
s.backward()
print(x.grad)

猜你喜欢

转载自blog.csdn.net/hao5335156/article/details/80613680