Inserts a dimension of 1 into a tensor's shape.

tf.compat.v2.expand_dims( input, axis, name=None )

Given a tensor `input`

, this operation inserts a dimension of 1 at the dimension index `axis`

of `input`

's shape. The dimension index `axis`

starts at zero; if you specify a negative number for `axis`

it is counted backward from the end.

This operation is useful if you want to add a batch dimension to a single element. For example, if you have a single image of shape `[height, width, channels]`

, you can make it a batch of 1 image with `expand_dims(image, 0)`

, which will make the shape `[1, height, width, channels]`

.

# 't' is a tensor of shape [2] tf.shape(tf.expand_dims(t, 0)) # [1, 2] tf.shape(tf.expand_dims(t, 1)) # [2, 1] tf.shape(tf.expand_dims(t, -1)) # [2, 1] # 't2' is a tensor of shape [2, 3, 5] tf.shape(tf.expand_dims(t2, 0)) # [1, 2, 3, 5] tf.shape(tf.expand_dims(t2, 2)) # [2, 3, 1, 5] tf.shape(tf.expand_dims(t2, 3)) # [2, 3, 5, 1]

This operation requires that:

`-1-input.dims() <= dim <= input.dims()`

This operation is related to `squeeze()`

, which removes dimensions of size 1.

Args | |
---|---|

`input` | A `Tensor` . |

`axis` | 0-D (scalar). Specifies the dimension index at which to expand the shape of `input` . Must be in the range `[-rank(input) - 1, rank(input)]` . |

`name` | The name of the output `Tensor` (optional). |

Returns | |
---|---|

A `Tensor` with the same data as `input` , but its shape has an additional dimension of size 1 added. |

© 2020 The TensorFlow Authors. All rights reserved.

Licensed under the Creative Commons Attribution License 3.0.

Code samples licensed under the Apache 2.0 License.

https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/compat/v2/expand_dims