tf.IndexedSlices
| Просмотреть исходный код на GitHub |
Разреженное представление набора тензорных слайсов по заданным индексам.
tf.IndexedSlices(
values, indices, dense_shape=None
)
Этот класс — простой оболочкой для пары Tensor объектов:
-
values:Tensorпроизвольного типа с формой[D0, D1, ..., Dn]. -
indices: ЦелочисленныйTensor1-D с формой[D0].
IndexedSlices обычно используется для представления подмножества большего тензора dense с формой [LARGE0, D1, .. , DN], где LARGE0 >> D0. Значения в indices — индексы в первом измерении слайсов, которые были извлечены из большего тензора.
Плотный тензор dense, представленный IndexedSlices slices, имеет
dense[slices.indices[i], :, :, :, ...] = slices.values[i, :, :, :, ...]
Класс IndexedSlices в основном используется в определении градиентов для операций с разреженными градиентами (например, 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)
Сравните это представление с tf.sparse.SparseTensor, которое использует многомерные индексы и скалярные значения.
| Атрибуты | |
|---|---|
dense_shape | 1-D Tensor, содержащий форму соответствующего плотного тензора. |
device | Имя устройства, на котором будет создан values, или None. |
dtype | Количество элементов в этом тензоре. |
graph | Graph, содержащий тензоры значений, индексов и формы. |
indices | 1-D Tensor, содержащий индексы слайсов. |
name | Имя этого IndexedSlices. |
op | Operation оператор, производящий values в качестве вывода. |
shape | Получает tf.TensorShape, представляющий форму плотного тензора. |
values | Tensor, содержащий значения слайсов. |
Методы
consumers
consumers()
__neg__
__neg__()
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/IndexedSlices