栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

torch.tensor.permute()函数《pytorch学习》

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

torch.tensor.permute()函数《pytorch学习》

引言:首先我个人理解为这个函数是一个张量维度变换、张量矩阵转置的函数。

1.张量维度变换。

官方给出的是这个样子:Tensor.permute(*dims) → Tensor(还是不太懂)

于是参考了这里,然后自己整理思绪,探索了一下!下面给出例子!

代码:

data1=torch.randn((3,2,1))
print('data1的数据类型:',type(data1))
print('data1的数据维度:',data1.shape)

data2=data1.permute(2,1,0)
print('data2的数据类型:',type(data2))
print('data2的数据维度:',data2.shape)

output:

data1的数据类型:
data1的数据维度: torch.Size([3, 2, 1])
data2的数据类型:
data2的数据维度: torch.Size([1, 2, 3])

然后我们继续看看值变了没有?

output:

data1的输出值: tensor([[[-0.0229],        注意上面两行是一块,
                                         [-0.4284]],       下面有两块,相当于3快(3维度)

                                        [[-0.0221],
                                         [-0.0945]],

                                         [[ 1.1457],
                                          [-0.7088]]])
data2的输出值: tensor([[[-0.0229, -0.0221,  1.1457],
                                         [-0.4284, -0.0945, -0.7088]]])

果然将(3,2,1)维度数据转换为(1,2,3)

2.维度转换。

在二维空间里,看的很明显,理解为矩阵转置,不知道在高纬度里面长啥样?

代码

data1=torch.randn((2,3))
print(data1)
data2=data1.permute(1,0) #类似于转置
print(data2)

output:

tensor([[-1.3697,  0.0934, -1.1175],
            [-1.0730, -2.2339, -0.7593]])
tensor([[-1.3697, -1.0730],
            [ 0.0934, -2.2339],
            [-1.1175, -0.7593]])

从二行三列转变为三列二行,再观察数值,发现转置了。

2.结束;

GAME OVER

如果小伙伴梦有疑问欢迎在评论区留言哦!!!

如果感觉不错的话!你懂得(O(∩_∩)O哈哈~)

欢迎和小伙伴梦一起学习,共同努力,加油!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/303731.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号