阅读(7.6k) 书签 (0)

TensorFlow函数:tf.manip.roll

2018-09-12 14:57 更新

tf.manip.roll函数

tf.manip.roll(
    input,
    shift,
    axis
)

定义在:tensorflow/python/ops/manip_ops.py.

沿轴线滚动张量的元素.

沿着axis的维度,通过shift的偏移,元素正向移动(朝向更大的指数).

负值shift会使元素向相反方向移动.滚动通过最后位置的元素将环绕到第一个位置,反之亦然.可以指定沿多个轴的多个移位.

例如:

# 't' is [0, 1, 2, 3, 4]
roll(t, shift=2, axis=0) ==> [3, 4, 0, 1, 2]

# shifting along multiple dimensions
# 't' is [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]
roll(t, shift=[1, -2], axis=[0, 1]) ==> [[7, 8, 9, 5, 6], [2, 3, 4, 0, 1]]

# shifting along the same axis multiple times
# 't' is [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]
roll(t, shift=[2, -3], axis=[1, 1]) ==> [[1, 2, 3, 4, 0], [6, 7, 8, 9, 5]]

参数:

  • input:一个Tensor.
  • shift:一个Tensor;必须是以下类型之一:int32,int64.维度必须为0-D或1-D;shift[i]指定元素沿由axis[i]指定的维度正向(朝向较大索引)移位的位置数.负向移动将使元素向相反方向滚动.
  • axis:一个Tensor;必须是以下类型之一:int32,int64.维度必须为0-D或1-D;axis[i]指定移动shift[i]应发生的维度.如果多次引用同一轴,则该轴的总偏移将是属于该轴的所有偏移的总和.
  • name:操作的名称(可选).

返回:

该函数返回一个Tensor,它与input有相同的类型.