Pytorch 叉乘

使用Pytorch时遇到想要将矩阵进行自身叉乘的情况,例如输入数据size为[BS, 3],那么需要先将输入数据转换为[BS, 3, 1][BS, 1, 3],这时叉乘结果size为[BS, 3, 3]

下面为二维矩阵的pytorch代码及结果:

import numpy as np
import torch
a = np.array([1, 2, 3])
a = torch.from_numpy(a)
a = a.unsqueeze(0)
a

1 2 3
[torch.IntTensor of size 1x3]

b = np.array([4, 5, 6])
b = torch.from_numpy(b)
b = b.unsqueeze(1)
b

4
5
6
[torch.IntTensor of size 3x1]

c = b*a
c

4 8 12
5 10 15
6 12 18
[torch.IntTensor of size 3x3]

下面为三维数据的叉乘:

m = np.array([[1, 2, 3], [1, 2, 3]])
m = torch.from_numpy(m)
m = m.unsqueeze(2)
m

(0 ,.,.) =
1
2
3
(1 ,.,.) =
1
2
3
[torch.IntTensor of size 2x3x1]

n = np.array([[4, 5, 6], [4, 5, 6]])
n = torch.from_numpy(n)
n = n.unsqueeze(1)
n

(0 ,.,.) =
4 5 6
(1 ,.,.) =
4 5 6
[torch.IntTensor of size 2x1x3]

res = m*n
res

(0 ,.,.) =
4 5 6
8 10 12
12 15 18
(1 ,.,.) =
4 5 6
8 10 12
12 15 18
[torch.IntTensor of size 2x3x3]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值