表示稀疏張量。
用法
tf.sparse.SparseTensor(
indices, values, dense_shape
)
參數
-
indices
形狀為[N, ndims]
的二維 int64 張量。 -
values
任何類型和形狀的一維張量[N]
。 -
dense_shape
形狀為[ndims]
的一維 int64 張量。
拋出
-
ValueError
如果dense_shape
未知或包含未知元素(None 或 -1),則在構建 Eager SparseTensor 時。
屬性
-
dense_shape
int64 的一維張量,表示密集張量的形狀。 -
dtype
該張量中元素的DType
。 -
graph
Graph
包含索引、值和 dense_shape 張量。 -
indices
表示的密集張量中非零值的索引。 -
op
生成values
作為輸出的Operation
。 -
shape
獲取表示密集張量形狀的TensorShape
。 -
values
表示的密集張量中的非零值。
TensorFlow 將稀疏張量表示為三個獨立的密集張量:indices
, values
和 dense_shape
。在 Python 中,三個張量被收集到一個SparseTensor
類中以便於使用。如果您有單獨的 indices
, values
和 dense_shape
張量,請將它們包裝在 SparseTensor
對象中,然後再傳遞給下麵的操作。
具體來說,稀疏張量 SparseTensor(indices, values, dense_shape)
包含以下組件,其中 N
和 ndims
分別是 SparseTensor
中的值數和維數:
indices
:形狀為[N, ndims]
的二維 int64 張量,它指定稀疏張量中包含非零值的元素的索引(元素為 zero-indexed)。例如,indices=[[1,3], [2,4]]
指定索引為 [1,3] 和 [2,4] 的元素具有非零值。values
:任何類型和形狀的一維張量[N]
,它為indices
中的每個元素提供值。例如,給定indices=[[1,3], [2,4]]
,參數values=[18, 3.6]
指定稀疏張量的元素 [1,3] 的值為 18,張量的元素 [2,4] 的值為 3.6。dense_shape
:形狀為[ndims]
的一維 int64 張量,它指定稀疏張量的 dense_shape。獲取一個列表,指示每個維度中的元素數量。例如,dense_shape=[3,6]
指定二維 3x6 張量,dense_shape=[2,3,4]
指定三維 2x3x4 張量,dense_shape=[9]
指定具有 9 個元素的一維張量。
對應的稠密張量滿足:
dense.shape = dense_shape
dense[tuple(indices[i])] = values[i]
按照慣例,indices
應該按行優先順序(或等效的元組 indices[i]
上的字典順序)排序。在構造 SparseTensor
對象時不會強製執行此操作,但大多數操作都假定正確排序。如果稀疏張量st
的排序錯誤,可以通過調用tf.sparse.reorder(st)
得到一個固定的版本。
示例:稀疏張量
SparseTensor(indices=[[0, 0], [1, 2]], values=[1, 2], dense_shape=[3, 4])
表示稠密張量
[[1, 0, 0, 0]
[0, 0, 2, 0]
[0, 0, 0, 0]]
相關用法
- Python tf.sparse.SparseTensor.with_values用法及代碼示例
- Python tf.sparse.cross用法及代碼示例
- Python tf.sparse.mask用法及代碼示例
- Python tf.sparse.split用法及代碼示例
- Python tf.sparse.to_dense用法及代碼示例
- Python tf.sparse.expand_dims用法及代碼示例
- Python tf.sparse.maximum用法及代碼示例
- Python tf.sparse.bincount用法及代碼示例
- Python tf.sparse.concat用法及代碼示例
- Python tf.sparse.transpose用法及代碼示例
- Python tf.sparse.reduce_sum用法及代碼示例
- Python tf.sparse.softmax用法及代碼示例
- Python tf.sparse.to_indicator用法及代碼示例
- Python tf.sparse.from_dense用法及代碼示例
- Python tf.sparse.retain用法及代碼示例
- Python tf.sparse.minimum用法及代碼示例
- Python tf.sparse.segment_sum用法及代碼示例
- Python tf.sparse.reduce_max用法及代碼示例
- Python tf.sparse.fill_empty_rows用法及代碼示例
- Python tf.sparse.slice用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.sparse.SparseTensor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。