我想执行以下操作,但要使用 PyTorch 。
下面的示例和说明来自此post。
我有一个25列23行的数值矩阵,以及一个向量 长度25。如何将矩阵的每一行乘以向量 不使用for循环?
结果应为25x23矩阵(与输入大小相同),但 每行都已乘以向量。
R中的示例代码(来源:reproducible example from @hatmatrix's answer):
matrix <- matrix(rep(1:3,each=5),nrow=3,ncol=5,byrow=TRUE)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 1 1 1 1
[2,] 2 2 2 2 2
[3,] 3 3 3 3 3
vector <- 1:5
所需的输出:
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 2 4 6 8 10
[3,] 3 6 9 12 15
使用Pytorch的最佳方法是什么?
答案 0 :(得分:0)
答案是如此琐碎,以至于我忽略了它。
为简单起见,我在此答案中使用了较小的向量和矩阵。
X = torch.tensor([[3, 5],[5, 5],[1, 0]])
y = torch.tensor([7,4])
X*y
# or alternatively
y*X
输出:
tensor([[21, 20],
[35, 20],
[ 7, 0]])
tensor([[21, 20],
[35, 20],
[ 7, 0]])