数组
输入神经网络的tensor的维度为(B,C,H,W)(B , C ,H ,W)(B,C,H,W)
- B代表batchsizeB代表batch sizeB代表batchsize
- C代表通道数C代表通道数C代表通道数
- H代表图像高H代表图像高H代表图像高
- W代表图像宽W代表图像宽W代表图像宽
数组维度变换位置&数组维度合并
import torch
x = torch.randn(32, 3, 416, 416)
B,C,H,W = x.shape # 此时:B=32,C=3,H=416,W=416
#数组维度转化
#第一种
x = torch.tensor(x, dtype=torch.float32).permute(0,2,3,1) #此时x的维度为(B,H,W,C)
#第二种(直接)
x = x.permute(0,2,3,1) #此时x的维度为(B,H,W,C)
#数组维度合并(一种解决方法,不唯一)
x = torch.randn(32, 3, 416, 416)
B,C,H,W = x.shape # 此时:B=32,C=3,H=416,W=416(必须设置)
x = x.view(B,H*W,C) #此时x的维度(B,H*W,C)=(32,416*416,3)