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


Python tf.ragged.range用法及代码示例


返回包含指定数字序列的RaggedTensor

用法

tf.ragged.range(
    starts, limits=None, deltas=1, dtype=None, name=None,
    row_splits_dtype=tf.dtypes.int64
)

参数

  • starts 向量或标量 Tensor 。如果 limits 不是 None ,则指定每个范围的第一个条目;否则,指定范围限制,第一个条目默认为 0
  • limits 向量或标量 Tensor 。指定每个范围的独占上限。
  • deltas 向量或标量 Tensor 。指定每个范围的增量。默认为 1
  • dtype 结果张量的元素类型。如果未指定,则根据其他参数选择一个值。
  • name 操作的名称。
  • row_splits_dtype dtype 用于返回的 RaggedTensorrow_splits 张量。 tf.int32tf.int64 之一。

返回

  • RaggedTensor 类型为 dtyperagged_rank=1

返回的 RaggedTensor 的每一行都包含一个序列:

ragged.range(starts, limits, deltas)[i] ==
    tf.range(starts[i], limits[i], deltas[i])

如果 start[i] < limits[i] and deltas[i] > 0 ,那么 output[i] 将是一个空列表。同样,如果 start[i] > limits[i] and deltas[i] < 0 ,那么 output[i] 将是一个空列表。此行为与 Python range 函数一致,但与 tf.range 操作不同,后者在这些情况下返回错误。

例子:

tf.ragged.range([3, 5, 2]).to_list()
[[0, 1, 2], [0, 1, 2, 3, 4], [0, 1]]
tf.ragged.range([0, 5, 8], [3, 3, 12]).to_list()
[[0, 1, 2], [], [8, 9, 10, 11]]
tf.ragged.range([0, 5, 8], [3, 3, 12], 2).to_list()
[[0, 2], [], [8, 10]]

输入张量 starts , limitsdeltas 可以是标量或向量。向量输入必须全部具有相同的大小。标量输入被广播以匹配向量输入的大小。

相关用法


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