expand

paddle.fluid.layers.nn. expand ( x, expand_times, name=None ) [source]

Warning: API “paddle.fluid.layers.nn.expand” is deprecated since 2.0.0, and will be removed in future versions. Please use “paddle.expand” instead.

alias_main

paddle.expand :alias: paddle.expand,paddle.tensor.expand,paddle.tensor.manipulation.expand :old_api: paddle.fluid.layers.expand

This operation tiles x multiple times according to the parameter expand_times. The times number for each dimension of x is set by the parameter expand_times. The rank of x should be less than or equal to 6. Please note that size of expand_times must be the same with X’s rank. Following is a using case:

Input(X) is a 3-D tensor with shape [2, 3, 1]:

        [
           [[1], [2], [3]],
           [[4], [5], [6]]
        ]

Attr(expand_times):  [1, 2, 2]

Output(Out) is a 3-D tensor with shape [2, 6, 2]:

        [
            [[1, 1], [2, 2], [3, 3], [1, 1], [2, 2], [3, 3]],
            [[4, 4], [5, 5], [6, 6], [4, 4], [5, 5], [6, 6]]
        ]
Args:

x (Variable): A Tensor or LoDTensor with dimension in [1, 6]. The data type is bool, float32, float64 or int32 . expand_times (list|tuple|Variable): The data type is int32 . If expand_times is a list or tuple, the elements of

System Message: ERROR/3 (/usr/local/lib/python3.8/site-packages/paddle/fluid/layers/nn.py:docstring of paddle.fluid.layers.nn.expand, line 34)

Unexpected indentation.

it should be integers or Tensors with shape [1]. If expand_times is an Variable, it should be an 1-D Tensor. Expand times number for each dimension of x .

System Message: WARNING/2 (/usr/local/lib/python3.8/site-packages/paddle/fluid/layers/nn.py:docstring of paddle.fluid.layers.nn.expand, line 36)

Block quote ends without a blank line; unexpected unindent.

name (str, optional): The default value is None. Normally there is no need for user to set this property. For more information, please refer to Name .

Returns:

Variable: A Tensor or LoDTensor. The data type is same as x. After expanding, size of each dimension of output is equal to the size of the corresponding dimension of x multiplying the corresponding value given by expand_times .

Raises:

TypeError: The type of expand_times must be list, tuple or Variable. ValueError: The elements of expand_times cannot be negative.

Examples:
import paddle.fluid as fluid

# example 1:
data_1 = fluid.layers.fill_constant(shape=[2, 3, 1], dtype='int32', value=0)
expanded_1 = fluid.layers.expand(data_1, expand_times=[1, 2, 2])
# the shape of expanded_1 is [2, 6, 2].

# example 2:
data_2 = fluid.layers.fill_constant(shape=[12, 14], dtype="int32", value=3)
expand_times = fluid.layers.fill_constant(shape=[2], dtype="int32", value=4)
expanded_2 = fluid.layers.expand(data_2, expand_times=expand_times)
# the shape of expanded_2 is [48, 56].