接下来介绍维度挤压
squeeze的用法与unsqueeze类似,同样需要给出要操作的维度参数,但若不给出维度的话,会把所有能删减的维度都去掉。...而第二种是实实在在的增加数据(拷贝数据的方式)。第一种方式只是在有需要的时候才会扩展,因此节约了内存,故推荐第一种。...,使用.expand即可
下面分别输入两段代码
print(b.expand(4, 32, 14, 14).shape)
print(b.shape)
输出分别为
torch.Size([4, 32,...另外
print(b.expand(-1, 32, -1, 14).shape)
# 括号内为-1时,表明保持原信息不动
输出
torch.Size([1, 32, 1, 14])
而repeat函数作用的方式则与...(4, 16, 32, 1)
print(c.shape)
输出
torch.Size([4, 512, 32, 1])
这里不推荐使用repeat操作,因为使用时会使内存里的数据急剧增加。