请问 x和print(x)的含义完全一样吗?
>>> import torch
>>> x = torch.arange(4.0)
>>> x
tensor([0., 1., 2., 3.])
>>> print(x)
tensor([0., 1., 2., 3.])
>>>
这个例子x和print(x)输出一样
>>> import torch
>>> x = torch.arange(4.0)
>>> x
tensor([0., 1., 2., 3.])
>>> print(x)
tensor([0., 1., 2., 3.])
>>> y=x*x
>>> y
tensor([0., 1., 4., 9.])
>>> print(y)
tensor([0., 1., 4., 9.])
>>> y.sum()
tensor(14.)
>>> print(y.sum)
<built-in method sum of Tensor object at 0x0000025A10D1A360>
这个例子,y 和print(y)的输出不一样
# 对非标量调用backward需要传入一个gradient参数,该参数指定微分函数关于self的梯度。
# 本例只想求偏导数的和,所以传递一个1的梯度是合适的
x.grad.zero_()
y = x * x
y.backward(torch.ones(len(x)))
x.grad
为啥标量调用backward不用传参,而非标量调用backward需要传入一个gradient参数?请问后边隐藏的数学原理是什么呢?这里为啥说传递一个1的梯度是合适的?