Spec-Zone.ru › TensorFlow 1.15

tf.sparse.SparseTensor

Просмотреть исходный код на GitHub

Представляет разреженный тензор.

Псевдонимы

Основные псевдонимы

tf.SparseTensor

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.SparseTensor, tf.compat.v1.sparse.SparseTensor, `tf.compat.v2.SparseTensor`, `tf.compat.v2.sparse.SparseTensor`

tf.sparse.SparseTensor(
    indices, values, dense_shape
)

TensorFlow представляет разреженный тензор как три отдельных плотных тензора: indices, values, и dense_shape. В Python три тензора объединены в класс SparseTensor для удобства использования. Если у вас есть отдельные indices, values, и dense_shape тензоры, оберните их в объект SparseTensor перед передачей в операции ниже.

Конкретно, разреженный тензор SparseTensor(indices, values, dense_shape) состоит из следующих компонентов, где N и ndims — количество элементов и количество измерений в SparseTensor, соответственно:

  • indices: 2-мерный тензор int64 с формой [N, ndims], который определяет индексы элементов в разреженном тензоре, содержащие ненулевые значения (элементы нумеруются с нуля). Например, indices=[[1,3], [2,4]] указывает, что элементы с индексами [1,3] и [2,4] имеют ненулевые значения.

  • values: 1-мерный тензор любого типа и формы [N], который предоставляет значения для каждого элемента в indices. Например, при условии indices=[[1,3], [2,4]], параметр values=[18, 3.6] указывает, что элемент [1,3] разреженного тензора имеет значение 18, а элемент [2,4] тензора имеет значение 3,6.

  • dense_shape: 1-мерный тензор int64 с формой [ndims], который определяет форму плотного тензора. Принимает список, указывающий количество элементов в каждом измерении. Например, 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]]
Аргументы
indices 2-мерный тензор int64 с формой [N, ndims].
values 1-мерный тензор любого типа и формы [N].
dense_shape 1-мерный тензор int64 с формой [ndims].
Атрибуты
dense_shape 1-мерный тензор int64, представляющий форму плотного тензора.
dtype Количество элементов в этом тензоре.
graph Объект, содержащий тензоры индексов, значений и формы плотного тензора.
indices Индексы ненулевых значений в представленном плотном тензоре.
op Тензор, который производит values в качестве результата.
shape Получить тензор, представляющий форму плотного тензора.
values Ён нулевые значения в представленном плотном тензоре.

Методы

consumers

Просмотреть исходный код

consumers()

eval

Просмотреть исходный код

eval(
    feed_dict=None, session=None
)

Вычисляет этот разреженный тензор в сессии.

Вызов этого метода выполнит все предыдущие операции, которые производят входные данные, необходимые для операции, которая производит этот тензор.

Примечание: Перед вызовом SparseTensor.eval(), его граф должен быть запущен в сессии, и либо должна быть доступна стандартная сессия, либо сессия session должна быть указана явно.
Аргументы
feed_dict Словарь, сопоставляющий объекты типа Tensor со значениями подстановки. См. tf.Session.run для описания допустимых значений подстановки.
session (Необязательно.) Сессия, которая будет использоваться для вычисления этого разреженного тензора. Если None, используется стандартная сессия.
Возвращает
Объект SparseTensorValue.

from_value

Просмотреть исходный код

@classmethod
from_value(
    sparse_tensor_value
)

get_shape

Просмотреть исходный код

get_shape()

Получить тензор, представляющий форму плотного тензора.

Возвращает
Объект TensorShape.

__div__

Просмотреть исходный код

__div__(
    sp_x, y
)

Делит SparseTensor на плотный тензор поэлементно.

Ограничение: эта операция выполняет распределение только для плотного тензора по отношению к разреженному, но не в обратную сторону.

Аргументы
sp_indices Tensor типа int64. 2-мерная. N x R матрица с индексами ненулевых значений в SparseTensor, возможно, не в каноническом порядке.
sp_values Tensor. Должен быть одного из следующих типов: float32, float64, int32, uint8, int16, int8, complex64, int64, qint8, quint8, qint32, bfloat16, uint16, complex128, half, uint32, uint64. 1-мерный. N ненулевых значений, соответствующих sp_indices.
sp_shape Tensor типа int64. 1-мерный. Форма входного SparseTensor.
dense Tensor. Должен иметь тот же тип, что и sp_values. R-мерный. Плотный операнд тензора.
name Имя операции (необязательно).
Возвращает
Tensor. Имеет тот же тип, что и sp_values.

__mul__

Просмотреть исходный код

__mul__(
    sp_x, y
)

Поэлементно умножает SparseTensor на плотный тензор.

Позиции вывода, соответствующие неявно нулевым элементам в разреженном тензоре, будут нулевыми (то есть не будут занимать место в памяти), независимо от содержимого плотного тензора (даже если он +/-INF, и INF*0 == NaN).

Ограничение: эта операция выполняет распределение только для плотного тензора по отношению к разреженному, но не в обратную сторону.

Аргументы
sp_indices A Tensor типа int64. 2-D. N x R матрица с индексами ненулевых значений в SparseTensor, возможно, не в каноническом порядке.
sp_values A Tensor. Должен быть одного из следующих типов: float32, float64, int32, uint8, int16, int8, complex64, int64, qint8, quint8, qint32, bfloat16, uint16, complex128, half, uint32, uint64. 1-D. N ненулевых значений, соответствующих sp_indices.
sp_shape A Tensor типа int64. 1-D. Размер входного SparseTensor.
dense A Tensor. Должен иметь тот же тип, что и sp_values. R-D. Операнд плотного тензора.
name Имя операции (необязательно).
Возвращаемые значения
A Tensor. Имеет тот же тип, что и sp_values.

__truediv__

Посмотреть исходный код

__truediv__(
    sp_x, y
)

Внутренняя вспомогательная функция для 'sp_t / dense_t'.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/sparse/SparseTensor

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API