当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.reverse_sequence用法及代码示例


反转可变长度切片。

用法

tf.reverse_sequence(
    input, seq_lengths, seq_axis=None, batch_axis=None, name=None
)

参数

  • input 一个Tensor。要反转的输入。
  • seq_lengths 一个Tensor。必须是以下类型之一:int32 , int64。长度为 input.dims(batch_axis)max(seq_lengths) <= input.dims(seq_axis) 的一维
  • seq_axis 一个 int 。部分反转的维度。
  • batch_axis 可选的 int 。默认为 0 。执行冲销的维度。
  • name 操作的名称(可选)。

返回

  • 张量。具有与输入相同的类型。

此操作首先沿维度 batch_axis 切片 input ,并且对于每个切片 i ,沿维度 seq_axis 反转第一个 seq_lengths[i] 元素。

seq_lengths 的元素必须服从 seq_lengths[i] <= input.dims[seq_axis] ,并且 seq_lengths 必须是长度为 input.dims[batch_axis] 的向量。

沿维度 batch_axis 的输出切片 i 然后由输入切片 i 给出,沿维度 seq_axis 的第一个 seq_lengths[i] 切片反转。

示例用法:

seq_lengths = [7, 2, 3, 5]
input = [[1, 2, 3, 4, 5, 0, 0, 0], [1, 2, 0, 0, 0, 0, 0, 0],
         [1, 2, 3, 4, 0, 0, 0, 0], [1, 2, 3, 4, 5, 6, 7, 8]]
output = tf.reverse_sequence(input, seq_lengths, seq_axis=1, batch_axis=0)
output
<tf.Tensor:shape=(4, 8), dtype=int32, numpy=
array([[0, 0, 5, 4, 3, 2, 1, 0],
       [2, 1, 0, 0, 0, 0, 0, 0],
       [3, 2, 1, 4, 0, 0, 0, 0],
       [5, 4, 3, 2, 1, 6, 7, 8]], dtype=int32)>

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.reverse_sequence。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。