pytorch中的permute()函数的原理

permute的中文含义是:置换
这个就已经解释了一半了。
他的功能就是把一个多维张量的维度进行调换。
对于一个2维张量来说,例如:
a=torch.rand(2,3).
那么代码a.permute(1,0)就相当于a.T

对于一个三维张量来说,例如:
a=torch.rand(2,3,4)
代码a.permute(2,0,1)把最初的2,3,4维度,给调整成了4,2,3维度,并且保持维度内的数值关系不变。

permute之前a是这样的:
tensor([[[0.8908, 0.6429, 0.4776, 0.7659],
[0.3943, 0.0208, 0.3309, 0.6632],
[0.6630, 0.4108, 0.0426, 0.2058]],
[[0.3706, 0.2213, 0.6738, 0.2757],
[0.1788, 0.2192, 0.6360, 0.4071],
[0.1586, 0.4145, 0.8038, 0.5163]]])
permute之后a是这样的:
tensor([[[0.8908, 0.3943, 0.6630],
[0.3706, 0.1788, 0.1586]],
[[0.6429, 0.0208, 0.4108],
[0.2213, 0.2192, 0.4145]],
[[0.4776, 0.3309, 0.0426],
[0.6738, 0.6360, 0.8038]],
[[0.7659, 0.6632, 0.2058],
[0.2757, 0.4071, 0.5163]]])

仔细观察数值位置的变化,就会理解了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值