请教一下pytorch的这段代码里:torch.autograd.grad(y,x,create_graph=True)[0],这里
import numpy as np
import torch
# f(x) = a*x**2 + b*x + c的导数
x = torch.tensor(0.0,requires_grad = True) # x需要被求导
a = torch.tensor(1.0)
b = torch.tensor(-2.0)
c = torch.tensor(1.0)
y = a*torch.pow(x,2) + b*x + c
# create_graph 设置为 True 将允许创建更高阶的导数
dy_dx = torch.autograd.grad(y,x,create_graph=True)[0]
print(dy_dx.data)
# 求二阶导数
dy2_dx2 = torch.autograd.grad(dy_dx,x)[0]
print(dy2_dx2.data)
请问 torch.autograd.grad(y,x,create_graph=True)[0],这里为什么有[0] ? 既然可以[0],那么 torch.autograd.grad(y,x,create_graph=True)[1]又表示什么呢?