import torch
if __name__ =="__main__": mask = torch.rand(3,3,2)#[C, H, W] print(mask) print(mask.shape) masks = mask.view([-1, 3, 3]).to(dtype=float) # [-1,3,3]分别代表[C, H, W] print(masks) print(masks.shape)
运行结果:
先生成了一个[3, 3 ,2]的随机张量,然后对其进行View操作。
mask.view([-1, 3, 3]).to(dtype=float)语句中的 -1 表示其根据张量的其他维度的变化进行自适应变化,这里就是说把一个3*3*2的张量转变为一个k*3*3的张量,同时-1代表的维度进行自适应变化。例如上面运行结果展示的,将一个3维的3*2的张量转换为了一个2维的3*3的张量。
这个过程中,元素的总数量并没有发生变化
3*2*2=18
2*3*3=18