expand

    该OP会根据参数 expand_times 对输入 x 的各维度进行复制。通过参数 expand_times 来为 x 的每个维度设置复制次数。 x 的秩应小于等于6。注意, expand_times 的大小必须与 x 的秩相同。以下是一个用例:

    参数:

    • x (Variable)- 维度最高为6的多维 TensorLoDTensor,数据类型为 float32float64int32bool

    • name (str,可选)- 具体用法请参见 ,一般无需设置。默认值: None

    返回:维度与输入 x 相同的 TensorLoDTensor,数据类型与 x 相同。返回值的每个维度的大小等于 x 的相应维度的大小乘以 expand_times 给出的相应值。

    返回类型: 。

    • TypeErrorexpand_times 的类型应该是 list、tuple 或 Variable。

    • ValueErrorexpand_times 中的元素不能是负值。

    代码示例

    1. # example 1:
    2. data_1 = fluid.layers.fill_constant(shape=[2, 3, 1], dtype='int32', value=0)
    3. expanded_1 = fluid.layers.expand(data_1, expand_times=[1, 2, 2])
    4. # the shape of expanded_1 is [2, 6, 2].
    5. # example 2:
    6. data_2 = fluid.layers.fill_constant(shape=[12, 14], dtype="int32", value=3)
    7. expand_times = fluid.layers.fill_constant(shape=[2], dtype="int32", value=4)
    8. # the shape of expanded_2 is [48, 56].