# expand¶

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

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]]
]
```
Parameters
• 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 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` .

• 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

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` .

Return type

Variable

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].
```