gpt4 book ai didi

pytorch - torch.Tensor.add_ 发生了什么?

转载 作者:行者123 更新时间:2023-12-04 13:00:15 28 4
gpt4 key购买 nike

我正在查看 PyTorch 的 SGD 实现:https://pytorch.org/docs/stable/_modules/torch/optim/sgd.html#SGD

我看到一些我不明白的奇怪计算。

例如,看看 p.data.add_(-group['lr'], d_p) .认为两个参数相乘是有道理的,对吗? (这就是 SGD 的工作原理,-lr * grads)

但是documentation该函数的内容对此没有任何说明。

更令人困惑的是,尽管这个 SGD 代码确实有效(我通过复制代码并调用 add_ 下方的打印进行了测试),但我不能简单地使用 add_有两个参数:

#this returns an error about using too many arguments 
import torch

a = torch.tensor([1,2,3])
b = torch.tensor([6,10,15])
c = torch.tensor([100,100,100])
a.add_(b, c)
print(a)

这里发生了什么?我错过了什么?

最佳答案

这适用于标量:

a = t.tensor(1)
b = t.tensor(2)
c = t.tensor(3)
a.add_(b, c)
print(a)

tensor(7)



a可以是张量:
a = t.tensor([[1,1],[1,1]])
b = t.tensor(2)
c = t.tensor(3)
a.add_(b, c)
print(a)

tensor([[7, 7], [7, 7]])



输出为 7,因为: (Tensor other, Number alpha)

关于pytorch - torch.Tensor.add_ 发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58932664/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com