阅读(15.5k) 书签 (0)

TensorFlow函数:tf.squeeze

2018-03-19 10:21 更新

tf.squeeze函数

squeeze(
    input,
    axis=None,
    name=None,
    squeeze_dims=None
)

定义在:tensorflow/python/ops/array_ops.py.

参见指南:张量变换>形状的确定与改变

从张量形状中移除大小为1的维度.

给定一个张量 input,该操作返回一个与已经移除的所有大小为1的维度具有相同类型的张量.如果您不想删除所有大小为1的维度,则可以通过指定 axis 来删除特定的大小为1的维度.

如本例所示:

# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
tf.shape(tf.squeeze(t))  # [2, 3]

或者,要删除特定的大小为1的维度:

# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
tf.shape(tf.squeeze(t, [2, 4]))  # [1, 2, 3, 1]

函数参数:

  • input:A Tensor.该input挤.
  • axis:一个可选列表ints.默认为[].如果指定,只能挤压列出的尺寸.维度索引从0开始.压缩非1的维度是错误的.必须在范围内[-rank(input), rank(input)).
  • name:操作的名称(可选).
  • squeeze_dims:现在是轴的已弃用的关键字参数.

函数返回值:

一Tensor.与.类型相同input.包含与之相同的数据input,但删除了一个或多个尺寸为1的尺寸.

可能引发的异常:

  • ValueError:当两个squeeze_dims和axis指定.