Pytorch基本使用系列(三)维度变换

维度变换:

View/reshape:

a.shape = [4,1,28,28]

a.reshape(4,28*28).shape() = [4,784]

a.reshape(4*28,28).shape() = [112,28]

Squeeze 挤压, unsqueeze 展开

a.shape() = [4,1,28,28]

a.unsqueeze(index).shape() index为插入完成后的索引编号

a.unsqueeze(0).shape() = [1,4,1,28,28]

a.unsqueeze(4).shape() = [4,1,28,28,1]

维度删减

a.squeeze(index) index为0, 删除所有维度为1的数据

a.squeeze(1).shape() = [4,28,28]

 

Expand/repeat 针对维度为1的地方进行扩张

a.shape() = [1,32,1,1]

a.expand(4,32,14,14).shape() = [4,32,14,14]

a.expand(-1,32,-1,-1).shape() = [1,32,1,1] -1代表维持不变

 

a.repeat(4,1,1,1).shape() = [4,32,1,1] repeat是原有的维度与给定次数相乘的结果

 

矩阵维度交换操作:

a.shape() = [4,3,32,32]

a.transpose(1,3) 交换1,3维度 两两交换

a.contiguous() 内存空间数据变为连续

a.permute(0,2,3,1) 一次交换结束 [4,28,32,3]

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值