【squeeze、unsqueeze】减少、增加维度

如题所述

第1个回答  2022-06-03

神经网络conv2d的输入必须是四维的(batch,channel,height,width),前处理或者后处理通常需要维度扩充或者维度压缩,必须维度匹配!
一个减少维度,一个增加维度,增加和减少的维度只能是1(单维度)。

numpy中squeeze函数,无unsqueeze函数,numpy中增加维度用 np.expand_dims(x, axis) 函数,可参考 链接
torch的tensor中,两个函数都有。

解释:
从数组的形状中删除单维度条目,即把shape中为1的维度去掉, 相当于减少维度

用法:

举例:

输出:

举例:

输出:

解释:
通过unsuqeeze(int)中的int整数,增加一个维度,int整数表示维度增加到哪儿去,且维度为1。

举例:

输出:

相似回答
大家正在搜