前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >pytorch中与维度相关的函数、方法

pytorch中与维度相关的函数、方法

作者头像
木又AI帮
发布2020-05-20 15:37:00
发布2020-05-20 15:37:00
1K00
代码可运行
举报
文章被收录于专栏:木又AI帮木又AI帮
运行总次数:0
代码可运行

改变tensor向量的形状。注意的是:view目前只是tensor向量的方法。

示例如下:

代码语言:javascript
代码运行次数:0
运行
复制
c = torch.arange(8)
torch.reshape(c, (2, 4))
# 以下两种写法功能相同
# c.reshape(2, 3)
# c.view(2, 3)

【output】
tensor([[0, 1, 2, 3],
        [4, 5, 6, 7]])

2、cat

多个tensor向量在某个维度上进行拼接。注意的是:cat只是torch的函数。

代码语言:javascript
代码运行次数:0
运行
复制
a = torch.zeros(2, 3)
b = torch.ones(2, 3)
torch.cat([a, b], axis=1)

【output】
tensor([[0., 0., 0., 1., 1., 1.],
        [0., 0., 0., 1., 1., 1.]])

3、stack

多个tensor向量在某个维度上进行堆叠。注意的是:stack只是torch的函数。

代码语言:javascript
代码运行次数:0
运行
复制
a = torch.zeros(2, 3)
b = torch.ones(2, 3)
torch.stack([a, b], dim=1)

【output】
tensor([[[0., 0., 0.],
         [1., 1., 1.]],
        [[0., 0., 0.],
         [1., 1., 1.]]])

4、squeeze

对tensor向量进行压缩,删除元素个数为1的维度。

示例如下:

代码语言:javascript
代码运行次数:0
运行
复制
c = torch.arange(6).reshape(1, 2, 3)
torch.squeeze(c)
# c.squeeze()

【output】
tensor([[0, 1, 2],
        [3, 4, 5]])

5、unsqueeze

对tensor向量的维度进行扩充,添加元素个数为1的维度。

代码语言:javascript
代码运行次数:0
运行
复制
c = torch.arange(6).reshape(2, 3)
torch.unsqueeze(c, dim=1)
# c.unsqueeze(dim=1)

【output】
tensor([[[0, 1, 2]],
        [[3, 4, 5]]])

6、transpose

对tensor向量的两个维度进行转置。

代码语言:javascript
代码运行次数:0
运行
复制
c = torch.arange(6).reshape(1, 2, 3)
torch.transpose(c, 1, 2)
# c.transpose(1, 2)

【output】
tensor([[[0, 3],
         [1, 4],
         [2, 5]]])

7、permute

对tensor向量的多个维度进行转置。注意的是:permute只是tensor向量的方法。

代码语言:javascript
代码运行次数:0
运行
复制
c = torch.arange(6).reshape(1, 2, 3)
c.permute(1, 2, 0)

【output】
tensor([[[0],
         [1],
         [2]],

        [[3],
         [4],
         [5]]])
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 木又AI帮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档