用法
__getitem__(
slice_spec, var=None
)
參數
-
tensor
一個 ops.Tensor 對象。 -
slice_spec
張量的參數。獲取項目. -
var
在變量切片賦值的情況下,切片的變量對象(即張量是這個變量的隻讀視圖)。
返回
- "tensor" 的適當切片,基於 "slice_spec"。
拋出
-
ValueError
如果切片範圍為負大小。 -
TypeError
如果切片索引不是 int、切片、省略號、tf.newaxis 或標量 int32/int64 張量。
Tensor.getitem 的重載。
此操作從張量中提取指定區域。該表示法類似於 NumPy,但目前僅支持基本索引。這意味著當前不允許使用非標量張量作為輸入。
一些有用的例子:
# Strip leading and trailing 2 elements
foo = tf.constant([1,2,3,4,5,6])
print(foo[2:-2].eval()) # => [3,4]
# Skip every other row and reverse the order of the columns
foo = tf.constant([[1,2,3], [4,5,6], [7,8,9]])
print(foo[::2,::-1].eval()) # => [[3,2,1], [9,8,7]]
# Use scalar tensors as indices on both dimensions
print(foo[tf.constant(0), tf.constant(2)].eval()) # => 3
# Insert another dimension
foo = tf.constant([[1,2,3], [4,5,6], [7,8,9]])
print(foo[tf.newaxis,:,:].eval()) # => [[[1,2,3], [4,5,6], [7,8,9]]]
print(foo[:, tf.newaxis,:].eval()) # => [[[1,2,3]], [[4,5,6]], [[7,8,9]]]
print(foo[:,:, tf.newaxis].eval()) # => [[[1],[2],[3]], [[4],[5],[6]],
[[7],[8],[9]]]
# Ellipses (3 equivalent operations)
foo = tf.constant([[1,2,3], [4,5,6], [7,8,9]])
print(foo[tf.newaxis,:,:].eval()) # => [[[1,2,3], [4,5,6], [7,8,9]]]
print(foo[tf.newaxis, ...].eval()) # => [[[1,2,3], [4,5,6], [7,8,9]]]
print(foo[tf.newaxis].eval()) # => [[[1,2,3], [4,5,6], [7,8,9]]]
# Masks
foo = tf.constant([[1,2,3], [4,5,6], [7,8,9]])
print(foo[foo > 2].eval()) # => [3, 4, 5, 6, 7, 8, 9]
注意:
tf.newaxis
是None
,就像在 NumPy 中一樣。- 隱式省略號放置在
slice_spec
的末尾 - 目前不支持 NumPy 高級索引。
API 中的用途:
此方法在 TensorFlow 的 API 中公開,因此庫開發人員可以為 Tensor.getitem
注冊調度,以允許它處理自定義複合張量和其他自定義對象。
API 符號不打算由用戶直接調用,並且確實出現在 TensorFlow 生成的文檔中。
相關用法
- Python tf.Tensor.__ge__用法及代碼示例
- Python tf.Tensor.__gt__用法及代碼示例
- Python tf.Tensor.__rsub__用法及代碼示例
- Python tf.Tensor.__lt__用法及代碼示例
- Python tf.Tensor.__abs__用法及代碼示例
- Python tf.Tensor.__rmatmul__用法及代碼示例
- Python tf.Tensor.__bool__用法及代碼示例
- Python tf.Tensor.__xor__用法及代碼示例
- Python tf.Tensor.__sub__用法及代碼示例
- Python tf.Tensor.__rpow__用法及代碼示例
- Python tf.Tensor.__le__用法及代碼示例
- Python tf.Tensor.__pow__用法及代碼示例
- Python tf.Tensor.__matmul__用法及代碼示例
- Python tf.Tensor.set_shape用法及代碼示例
- Python tf.Tensor.ref用法及代碼示例
- Python tf.Tensor.get_shape用法及代碼示例
- Python tf.TensorSpec.from_spec用法及代碼示例
- Python tf.Tensor用法及代碼示例
- Python tf.TensorSpec.from_tensor用法及代碼示例
- Python tf.TensorShape.merge_with用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.Tensor.__getitem__。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。