Pytorch 扩展Tensor维度、压缩Tensor维度的方法
程序员文章站
2022-04-21 11:23:57
1. 扩展tensor维度 相信刚接触pytorch的宝宝们,会遇到这样一个问题,输入的数据维度和实验需要维度不一致,输入的可能是2维数据或3维数据,实验需要用到3维或4维数据,那么我们需要扩展这个...
1. 扩展tensor维度
相信刚接触pytorch的宝宝们,会遇到这样一个问题,输入的数据维度和实验需要维度不一致,输入的可能是2维数据或3维数据,实验需要用到3维或4维数据,那么我们需要扩展这个维度。其实特别简单,只要对数据加一个扩展维度方法就可以了。
1.1torch.unsqueeze(self: tensor, dim: _int)
torch.unsqueeze(self: tensor, dim: _int)
参数说明:self:输入的tensor数据,dim:要对哪个维度扩展就输入那个维度的整数,可以输入0,1,2……
1.2code
第一种方式,输入数据后直接加unsqueeze()
扩展第一维和第二维为1
import torch def reset_unsqueeze1(): data = torch.rand([3, 3]) data1 = data.unsqueeze(dim=0).unsqueeze(dim=1) print("data_size: ", data.shape) print("data: ", data) print("data1_size: ", data1.shape) print("data1: ", data1)
结果显示
第二种方式,用torch.unsqueeze()
import torch def reset_unsqueeze2(): data = torch.rand([3, 3]) data1 = torch.unsqueeze(data, dim=0) print("data_size: ", data.shape) print("data: ", data) print("data1_size: ", data1.shape) print("data1: ", data1)
结果显示
2. 压缩tensor维度
2.1torch.squeeze(self: tensor, dim: _int)
这个方法刚好和torch.unsqueeze()方法效果相反,压缩tensor维度。
2.2 code
第一种方式,输入数据后直接加squeeze()
import torch def reset_squeeze1(): data = torch.rand([1, 1, 3, 3]) data1 = data.squeeze(dim=0).squeeze(dim=1) print("data_size: ", data.shape) print("data: ", data) print("data1_size: ", data1.shape) print("data1: ", data1)
结果显示
第二种方式,用torch.squeeze()
import torch def reset_squeeze2(): data = torch.rand([1, 1, 3, 3]) data1 = torch.squeeze(data, dim=0) print("data_size: ", data.shape) print("data: ", data) print("data1_size: ", data1.shape) print("data1: ", data1)
结果显示
到此这篇关于pytorch 扩展tensor维度、压缩tensor维度的方法的文章就介绍到这了,更多相关pytorch 扩展tensor维度、压缩tensor维度内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
下一篇: python如何停止递归
推荐阅读
-
pytorch 调整某一维度数据顺序的方法
-
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
-
Pytorch中的variable, tensor与numpy相互转化的方法
-
Pytorch中的variable, tensor与numpy相互转化的方法
-
pytorch中tensor操作维度为负的情况
-
pytorch中tensor的合并与截取方法
-
在keras 中获取张量 tensor 的维度大小实例
-
【PyTorch】contiguous==>保证Tensor是连续的,通常transpose、permute 操作后执行 view需要此方法
-
pytorch 扩充Tensor的维度
-
Pytorch改变Tensor维度