表示稀疏张量。
用法
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_shapeint64 的一维张量,表示密集张量的形状。 -
dtype该张量中元素的DType。 -
graphGraph包含索引、值和 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
