1、tensor.item() 用于得到 tensor的元素值
# coding:utf-8import torchimport math"""测试-torch Tensor使用"""dtype = torch.floatdevice = torch.device("cpu")x = torch.linspace(-math.pi, math.pi, 2000, device=device, dtype=dtype)y = torch.sin(x)a = torch.randn((), device=device, dtype=dtype)b = torch.randn((), device=device, dtype=dtype)c = torch.randn((), device=device, dtype=dtype)d = torch.randn((), device=device, dtype=dtype)learning_rate = 1e-6for t in range(2000):y_pred = a+b*x+c*x**2+d*x**3loss = (y_pred - y).pow(2).sum().item()if t % 100 == 99:print(t, loss)grad_y_pred = 2.0 * (y_pred-y)grad_a = grad_y_pred.sum()grad_b = (grad_y_pred * x).sum()grad_c = (grad_y_pred * x ** 2).sum()grad_d = (grad_y_pred * x ** 3).sum()a -= learning_rate * grad_ab -= learning_rate * grad_bc -= learning_rate * grad_cd -= learning_rate * grad_dprint(f"Result : y ={a.item()}+{b.item()}x+{c.item()}x^2+{d.item()}x^3")
