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的