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


Python tf.RaggedTensor.from_uniform_row_length用法及代码示例


用法

@classmethod
from_uniform_row_length(
    values, uniform_row_length, nrows=None, validate=True, name=None
)

参数

  • values 形状可能参差不齐的张量 [nvals, ...]
  • uniform_row_length 一个标量整数张量。必须是非负数。 values 的外轴大小必须能被 uniform_row_length 整除。
  • nrows 构造的 RaggedTensor 中的行数。如果未指定,则默认为 nvals/uniform_row_length (或 0 如果 uniform_row_length==0 )。仅当uniform_row_length 可能为零时才需要指定nrowsuniform_row_length*nrows 必须是 nvals
  • validate 如果为真,则使用断言检查参数是否形成有效的 RaggedTensor 。注意:这些断言会产生运行时成本,因为必须检查每个张量值。
  • name RaggedTensor 的名称前缀(可选)。

返回

  • A RaggedTensor对应于由以下定义的python列表:
    result = [[values.pop(0) for i in range(uniform_row_length)]
              for _ in range(nrows)]

    result.rank = values.rank + 1result.ragged_rank = values.ragged_rank + 1

创建一个 RaggedTensor ,其中行由 uniform_row_length 分区。

此方法可用于创建具有多个统一外部尺寸的 RaggedTensor 。例如,形状为 [2, 2, None]RaggedTensor 可以使用此方法从形状为 [4, None]RaggedTensor 值构造:

values = tf.ragged.constant([[1, 2, 3], [4], [5, 6], [7, 8, 9, 10]])
print(values.shape)
(4, None)
rt1 = tf.RaggedTensor.from_uniform_row_length(values, 2)
print(rt1)
<tf.RaggedTensor [[[1, 2, 3], [4]], [[5, 6], [7, 8, 9, 10]]]>
print(rt1.shape)
(2, 2, None)

请注意,rt1 仅包含一个参差不齐的维度(最内层维度)。相反,如果 from_row_splits 用于构造类似的 RaggedTensor ,则该 RaggedTensor 将具有两个参差不齐的维度:

rt2 = tf.RaggedTensor.from_row_splits(values, [0, 2, 4])
print(rt2.shape)
(2, None, None)

相关用法


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