meridian.backend.expand_dims

Returns a tensor with a length 1 axis inserted at index axis .

Given a tensor input , this operation inserts a dimension of length 1 at the dimension index axis of input 's shape. The dimension index follows Python indexing rules: It's zero-based, and a negative index is counted backward from the end.

This operation is useful to:

  • Add an outer "batch" dimension to a single element.
  • Align axes for broadcasting.
  • To add an inner vector length axis to a tensor of scalars.

For example:

If you have a single image of shape [height, width, channels] :

 >>> image = tf.zeros([10,10,3]) 

You can add an outer batch axis by passing axis=0 :

 >>> tf.expand_dims(image, axis=0).shape.as_list()
[1, 10, 10, 3] 

The new axis location matches Python list.insert(axis, 1) :

 >>> tf.expand_dims(image, axis=1).shape.as_list()
[10, 1, 10, 3] 

Following standard Python indexing rules, a negative axis counts from the end so axis=-1 adds an inner most dimension:

 >>> tf.expand_dims(image, -1).shape.as_list()
[10, 10, 3, 1] 

This operation requires that axis is a valid index for input.shape , following Python indexing rules:

 -1-tf.rank(input) <= axis <= tf.rank(input) 

This operation is related to:

  • tf.squeeze , which removes dimensions of size 1.
  • tf.reshape , which provides more flexible reshaping capability.
  • tf.sparse.expand_dims , which provides this functionality for tf.SparseTensor

input
A Tensor .
axis
Integer specifying the dimension index at which to expand the shape of input . Given an input of D dimensions, axis must be in range [-(D+1), D] (inclusive).
name
Optional string. The name of the output Tensor .

A tensor with the same data as input , with an additional dimension inserted at the index specified by axis .

TypeError
If axis is not specified.
InvalidArgumentError
If axis is out of range [-(D+1), D] .

Design a Mobile Site
View Site in Mobile | Classic
Share by: