这个错误源于Pytorch对Tensor进行 backward() 自动求导时,该Tensor的requires_grad为False,requires_grad参数指定是否记录对Tensor的操作以便计算梯度。在创建Tensor时该参数默认为False,需要手动设置如下
loss = torch.zeros(1, requires_grad=True)
也可以通过loss.requires_grad_(True)设置。
RunTimeError:element 0 of tensors does not require grad and does not have a grad_fn
最新推荐文章于 2024-03-25 21:14:48 发布
本文解释了Pytorch中Tensor的requires_grad参数的重要性,尤其是在backward()自动求导时。若Tensor的requires_grad为False,需手动设置以记录操作并计算梯度,如loss=torch.zeros(1,requires_grad=True)或loss.requires_grad_(True)。
摘要由CSDN通过智能技术生成