表示稀疏张量。
用法
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。