expand¶
- paddle.fluid.layers.nn. expand ( x, expand_times, name=None ) [source]
-
- Alias_main
-
paddle.expand :alias: paddle.expand,paddle.tensor.expand,paddle.tensor.manipulation.expand :old_api: paddle.fluid.layers.expand
This operation tiles
xmultiple times according to the parameterexpand_times. The times number for each dimension ofxis set by the parameterexpand_times. The rank ofxshould be less than or equal to 6. Please note that size ofexpand_timesmust 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
TensororLoDTensorwith dimension in [1, 6]. The data type isbool,float32,float64orint32.expand_times (list|tuple|Variable) – The data type is
int32. Ifexpand_timesis a list or tuple, the elements of it should be integers or Tensors with shape [1]. Ifexpand_timesis an Variable, it should be an 1-D Tensor. Expand times number for each dimension ofx.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
TensororLoDTensor. The data type is same asx. After expanding, size of each dimension of output is equal to the size of the corresponding dimension ofxmultiplying the corresponding value given byexpand_times. - Return type
-
Variable
- Raises
-
TypeError – The type of
expand_timesmust be list, tuple or Variable.ValueError – The elements of
expand_timescannot 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].
