

通过调用 backward() 函数,我们自动求出了在 x = 1 的时候的导数 需要注意的一点是:如果我们输入的 Tensor 不是一个标量,而是矢量(多个值)。 那么,我们在调用backward()之前,需要让结果变成标量 才能求出导数。 也就是说如果不将 Y 的值变成标量,就会报错。(可以尝试把mean()给取消,看看是不是报错了)

具体相关的细节见下图:

本文详细解析了PyTorch框架中backward()函数的正确使用方法,特别是当输入Tensor为矢量而非标量时,如何将其转换为标量以避免错误,确保能够成功计算梯度。


通过调用 backward() 函数,我们自动求出了在 x = 1 的时候的导数 需要注意的一点是:如果我们输入的 Tensor 不是一个标量,而是矢量(多个值)。 那么,我们在调用backward()之前,需要让结果变成标量 才能求出导数。 也就是说如果不将 Y 的值变成标量,就会报错。(可以尝试把mean()给取消,看看是不是报错了)

具体相关的细节见下图:

您可能感兴趣的与本文相关的镜像
PyTorch 2.6
PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理
1022

被折叠的 条评论
为什么被折叠?