用法
__getitem__(
key
)
参数
-
rt_input
要切片的 RaggedTensor。 -
key
使用标准 Python 语义(例如,从末尾开始的负值索引)指示要返回的 RaggedTensor 的哪一部分。key
可能有以下任何一种类型:int
常量- 标量整数
Tensor
slice
包含整数常量和/或标量整数Tensor
sEllipsis
tuple
包含以上任何一项(用于多维索引)
返回
-
Tensor
或RaggedTensor
对象。包含至少一个参差不齐的维度的值将返回为RaggedTensor
。不包含不规则尺寸的值将返回为Tensor
。有关返回Tensor
s 与RaggedTensor
s 的表达式示例,请参见上文。
抛出
-
ValueError
如果key
超出范围。 -
ValueError
如果不支持key
。 -
TypeError
如果key
中的索引具有不受支持的类型。
返回此 RaggedTensor 的指定部分。
支持多维索引和切片,但有一个限制:不允许索引到参差不齐的内部维度。这种情况是有问题的,因为指示的值可能存在于某些行中但不存在于其他行中。在这种情况下,我们是否应该(1)报告 IndexError 并不明显; (2) 使用默认值;或 (3) 跳过该值并返回一个比我们开始时行数更少的张量。遵循 Python 的指导原则(“面对歧义,拒绝猜测的诱惑”),我们简单地禁止这种操作。
例子:
# A 2-D ragged tensor with 1 ragged dimension.
rt = tf.ragged.constant([['a', 'b', 'c'], ['d', 'e'], ['f'], ['g']])
rt[0].numpy() # First row (1-D `Tensor`)
array([b'a', b'b', b'c'], dtype=object)
rt[:3].to_list() # First three rows (2-D RaggedTensor)
[[b'a', b'b', b'c'], [b'd', b'e'], [b'f']]
rt[3, 0].numpy() # 1st element of 4th row (scalar)
b'g'
# A 3-D ragged tensor with 2 ragged dimensions.
rt = tf.ragged.constant([[[1, 2, 3], [4]],
[[5], [], [6]],
[[7]],
[[8, 9], [10]]])
rt[1].to_list() # Second row (2-D RaggedTensor)
[[5], [], [6]]
rt[3, 0].numpy() # First element of fourth row (1-D Tensor)
array([8, 9], dtype=int32)
rt[:, 1:3].to_list() # Items 1-3 of each row (3-D RaggedTensor)
[[[4]], [[], [6]], [], [[10]]]
rt[:, -1:].to_list() # Last item of each row (3-D RaggedTensor)
[[[4]], [[6]], [[7]], [[10]]]
相关用法
- Python tf.RaggedTensor.__ge__用法及代码示例
- Python tf.RaggedTensor.__gt__用法及代码示例
- Python tf.RaggedTensor.__rmul__用法及代码示例
- Python tf.RaggedTensor.__radd__用法及代码示例
- Python tf.RaggedTensor.__pow__用法及代码示例
- Python tf.RaggedTensor.__rand__用法及代码示例
- Python tf.RaggedTensor.__xor__用法及代码示例
- Python tf.RaggedTensor.__rpow__用法及代码示例
- Python tf.RaggedTensor.__rxor__用法及代码示例
- Python tf.RaggedTensor.__ror__用法及代码示例
- Python tf.RaggedTensor.__rsub__用法及代码示例
- Python tf.RaggedTensor.__abs__用法及代码示例
- Python tf.RaggedTensor.__sub__用法及代码示例
- Python tf.RaggedTensor.__add__用法及代码示例
- Python tf.RaggedTensor.__lt__用法及代码示例
- Python tf.RaggedTensor.__or__用法及代码示例
- Python tf.RaggedTensor.__invert__用法及代码示例
- Python tf.RaggedTensor.__le__用法及代码示例
- Python tf.RaggedTensor.__mul__用法及代码示例
- Python tf.RaggedTensor.__and__用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.RaggedTensor.__getitem__。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。