image = transform(image).unsqueeze(0)

图像预处理转化为Tensor后的unsqueeze(0)有什么意义?

 image = transform(image).unsqueeze(0)

这个unsqueeze(0),感觉就仅仅在在最外层增加了一个维度,有什么意义吗?

 

unsqueeze()这个函数主要是对数据维度进行扩充。给指定位置加上维数为一的维度,比如原本有个三行的数据(3),unsqueeze(0)后就会在0的位置加了一维就变成一行三列(1,3)。

torch.squeeze(input, dim=None, out=None):去除那些维度大小为1的维度

torch.unbind(tensor, dim=0):去除某个维度

torch.unsqueeze(input, dim, out=None):在指定位置添加维度。

unsqueeze主要起到升维的作用,后续图像处理可以更好地进行批操作

 
这是应该是因为网络的接收输入是一个mini-batch,image unsqueeze后第一个维度是留给batch size的
posted @ 2022-03-14 16:29  Tomorrow1126  阅读(1528)  评论(0编辑  收藏  举报