0
点赞
收藏
分享

微信扫一扫

Unet++改进12:添加PCONV||减少冗余计算和同时存储访问

数组

输入神经网络的tensor的维度为 ( B , C , H , W ) (B , C ,H ,W) (B,C,H,W)

  • B 代表 b a t c h s i z e B代表batch size B代表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)
举报

相关推荐

0 条评论