Removes dimensions of size 1 from the shape of a tensor.
tf.squeeze(input,axis=None,name=None)
Given a tensor input, this operation returns a tensor of the same type with
all dimensions of size 1 removed. If you don't want to remove all size 1
dimensions, you can remove specific size 1 dimensions by specifying
axis.
For example:
# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]tf.shape(tf.squeeze(t))# [2, 3]
Or, to remove specific size 1 dimensions:
# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]tf.shape(tf.squeeze(t,[2,4]))# [1, 2, 3, 1]
Unlike the older op tf.compat.v1.squeeze, this op does not accept a
deprecated squeeze_dims argument.
Args
input
A Tensor. The input to squeeze.
axis
An optional list of ints. Defaults to []. If specified, only
squeezes the dimensions listed. The dimension index starts at 0. It is an
error to squeeze a dimension that is not 1. Must be in the range
[-rank(input), rank(input)). Must be specified if input is a
RaggedTensor.
name
A name for the operation (optional).
Returns
A Tensor. Has the same type as input.
Contains the same data as input, but has one or more dimensions of
size 1 removed.
Raises
ValueError
The input cannot be converted to a tensor, or the specified
axis cannot be squeezed.
[null,null,["Last updated 2020-10-01 UTC."],[],[],null,["# tf.squeeze\n\n\u003cbr /\u003e\n\n|--------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|\n| [TensorFlow 1 version](/versions/r1.15/api_docs/python/tf/squeeze) | [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.0.0/tensorflow/python/ops/array_ops.py#L3652-L3701) |\n\nRemoves dimensions of size 1 from the shape of a tensor. \n\n tf.squeeze(\n input, axis=None, name=None\n )\n\nGiven a tensor `input`, this operation returns a tensor of the same type with\nall dimensions of size 1 removed. If you don't want to remove all size 1\ndimensions, you can remove specific size 1 dimensions by specifying\n`axis`.\n\n#### For example:\n\n # 't' is a tensor of shape [1, 2, 1, 3, 1, 1]\n tf.shape(tf.squeeze(t)) # [2, 3]\n\nOr, to remove specific size 1 dimensions: \n\n # 't' is a tensor of shape [1, 2, 1, 3, 1, 1]\n tf.shape(tf.squeeze(t, [2, 4])) # [1, 2, 3, 1]\n\nUnlike the older op [`tf.compat.v1.squeeze`](../tf/compat/v1/squeeze), this op does not accept a\ndeprecated `squeeze_dims` argument.\n| **Note:** if `input` is a [`tf.RaggedTensor`](../tf/RaggedTensor), then this operation takes `O(N)` time, where `N` is the number of elements in the squeezed dimensions.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `input` | A `Tensor`. The `input` to squeeze. |\n| `axis` | An optional list of `ints`. Defaults to `[]`. If specified, only squeezes the dimensions listed. The dimension index starts at 0. It is an error to squeeze a dimension that is not 1. Must be in the range `[-rank(input), rank(input))`. Must be specified if `input` is a `RaggedTensor`. |\n| `name` | A name for the operation (optional). |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| A `Tensor`. Has the same type as `input`. Contains the same data as `input`, but has one or more dimensions of size 1 removed. ||\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|--------------|--------------------------------------------------------------------------------------|\n| `ValueError` | The input cannot be converted to a tensor, or the specified axis cannot be squeezed. |\n\n\u003cbr /\u003e"]]