flip

paddle.fluid.layers.flip(input, dims, name=None):

该OP沿指定轴反转n维tensor.

参数

  • input (Variable) - 输入Tensor。维度为多维,数据类型为bool, int32, int64, float32或float64。
  • dims (list) - 需要翻转的轴。当 dims[i] < 0 时,实际的计算维度为 rank(input) + dims[i],其中i为dims的索引。
  • name (str|None) - 该参数供开发人员打印调试信息时使用,具体用法请参见 Name 。默认值为None。

返回

在指定dims上翻转后的Tensor,与输入input数据类型相同。

返回类型

Variable,与输入input数据类型相同。

抛出异常

  • TypeError - 当输出 out 和输入 input 数据类型不一致时候。
  • ValueError - 当参数 dims 不合法时。

代码示例 1

  1. import paddle
  2. import paddle.fluid as fluid
  3. import numpy as np
  4. input = fluid.data(name="x", shape=[-1, 2, 2], dtype='float32')
  5. output = fluid.layers.nn.flip(input, dims=[0, 1])
  6. exe = fluid.Executor(fluid.CPUPlace())
  7. exe.run(fluid.default_startup_program())
  8. img = np.arange(12).reshape((3,2,2)).astype(np.float32)
  9. res = exe.run(fluid.default_main_program(), feed={'x':img}, fetch_list=[output])
  10. print(res) # [[[10,11][8, 9]],[[6, 7],[4, 5]] [[2, 3],[0, 1]]]

代码示例 2

  1. import paddle
  2. import paddle.fluid as fluid
  3. import numpy as np
  4. img = np.arange(12).reshape((3,2,2)).astype(np.float32)
  5. with fluid.dygraph.guard():
  6. inputs = fluid.dygraph.to_variable(img)
  7. ret = fluid.layers.flip(inputs, [0, 1])
  8. print(ret.numpy()) # [[[10,11][8, 9]],[[6, 7],[4, 5]] [[2, 3],[0, 1]]]