错误原因
在进行 张量 梯度求解时,传入数据类型不对
解决方法指定传入张量类型为 float 类型即可
错误代码示例
import torch
# 第一步:创建 tensor
x = torch.ones(2,2,requires_grad=True)
print(x)
# 第二步:对 tensor 做处理
y = x**2
print(y)
# 第三步:求梯度
y.backward(torch.tensor([[3,2],[2,2]]))
print(x.grad)
正确代码示例
import torch
# 第一步:创建 tensor
x = torch.ones(2,2,requires_grad=True)
print(x)
# 第二步:对 tensor 做处理
y = x**2
print(y)
# 第三步:求梯度
y.backward(torch.tensor([[3,2],[2,2]],dtype=float)) # 这里加了一个类型
print(x.grad)