View source on GitHub
|
A sparse representation of a set of tensor slices at given indices.
tf.IndexedSlices(
values, indices, dense_shape=None
)
Used in the notebooks
| Used in the tutorials |
|---|
This class is a simple wrapper for a pair of Tensor objects:
values: ATensorof any dtype with shape[D0, D1, ..., Dn].indices: A 1-D integerTensorwith shape[D0].
An IndexedSlices is typically used to represent a subset of a larger
tensor dense of shape [LARGE0, D1, .. , DN] where LARGE0 >> D0.
The values in indices are the indices in the first dimension of
the slices that have been extracted from the larger tensor.
The dense tensor dense represented by an IndexedSlices slices has
dense[slices.indices[i], :, :, :, ...] = slices.values[i, :, :, :, ...]
The IndexedSlices class is used principally in the definition of
gradients for operations that have sparse gradients
(e.g. tf.gather).
v = tf.Variable([[0.,1, 2], [2, 3, 4], [4, 5, 6], [6, 7, 8]])with tf.GradientTape() as tape:r = tf.gather(v, [1,3])index_slices = tape.gradient(r,v)index_slices<...IndexedSlices object ...>index_slices.indices.numpy()array([1, 3], dtype=int32)index_slices.values.numpy()array([[1., 1., 1.],[1., 1., 1.]], dtype=float32)
Contrast this representation with
tf.sparse.SparseTensor,
which uses multi-dimensional indices and scalar values.
Attributes |
|---|
dense_shape
Tensor containing the shape of the corresponding dense tensor.
device
values will be produced, or None.
dtype
DType of elements in this tensor.
graph
Graph that contains the values, indices, and shape tensors.
indices
Tensor containing the indices of the slices.
name
IndexedSlices.
op
Operation that produces values as an output.
shape
tf.TensorShape representing the shape of the dense tensor.
values
Tensor containing the values of the slices.
Methods
consumers
consumers()
__neg__
__neg__()
View source on GitHub