tf.squeeze(input, axis=None, name=None, squeeze_dims=None)
从张量形状中移除大小为1的维度。
给定一个张量 input,该操作返回相同类型的张量,并删除所有维度为1的维度。如果不想删除所有大小为1的维度,则可以通过指定 axis 来删除特定的大小为1的维度。
参数:
input | 需要压缩的张量 |
---|---|
axis(可选) | 一个可选列表,默认为[]。如果指定,只能挤压列出的尺寸。维度索引从0开始,压缩非1的维度会报错,必须在范围内。 |
name(可选) | 操作的名称 |
squeeze_dims(可选) | axis,是axis的已弃用的关键字参数 |
返回:
一个张量,与input类型相同。包含与input相同的数据,但删除了一个或多个维度为1的维度。
例子:
# t是一个维度是[1, 2, 1, 3, 1, 1]的张量
>>>tf.shape(tf.squeeze(t))
(2, 3) # 默认删除所有为1的维度
# t是一个维度[1, 2, 1, 3, 1, 1]的张量
>>>tf.shape(tf.squeeze(t, [2, 4]))
(1, 2, 3, 1) #标号从零开始,只删掉了2和4维的1