РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
35 of 824 menu

Метод to_sparse

Метод to_sparse применяется к объекту RaggedTensor и преобразует его в разреженный тензор SparseTensor. Первым параметром можно передать значение, которым будут заполнены пропущенные элементы default_value. Вторым параметром задается имя операции name.

Рваный тензор содержит строки разной длины, а разреженный тензор хранит только ненулевые значения вместе с их индексами. Метод to_sparse выполняет это преобразование автоматически.

Синтаксис

RaggedTensor.to_sparse(default_value=None, name=None)

Пример

Давайте создадим рваный тензор из вложенных списков и преобразуем его в разреженный тензор:

import tensorflow as tf rt = tf.ragged.constant([[1, 2], [3], [4, 5, 6]]) sp = rt.to_sparse() print(sp)

Результат выполнения кода:

tf.SparseTensor(indices=tf.Tensor( [[0 0] [0 1] [1 0] [2 0] [2 1] [2 2]], shape=(6, 2), dtype=int64), values=tf.Tensor([1 2 3 4 5 6], shape=(6,), dtype=int32), dense_shape=tf.Tensor([3 3], shape=(2,), dtype=int64))

Пример

Давайте преобразуем рваный тензор в разреженный с заполнением пропусков значением 0:

import tensorflow as tf rt = tf.ragged.constant([[1, 2], [3], [4, 5, 6]]) sp = rt.to_sparse(default_value=0) print(sp)

Результат выполнения кода:

tf.SparseTensor(indices=tf.Tensor( [[0 0] [0 1] [1 0] [2 0] [2 1] [2 2]], shape=(6, 2), dtype=int64), values=tf.Tensor([1 2 3 4 5 6], shape=(6,), dtype=int32), dense_shape=tf.Tensor([3 3], shape=(2,), dtype=int64))

Пример

Давайте проверим, что полученный объект действительно является разреженным тензором:

import tensorflow as tf rt = tf.ragged.constant([[1, 2, 3], [4, 5], [6]]) sp = rt.to_sparse() print(type(sp)) print(sp.values)

Результат выполнения кода:

<class 'tensorflow.python.framework.sparse_tensor.SparseTensor'> tf.Tensor([1 2 3 4 5 6], shape=(6,), dtype=int32)

Смотрите также

  • класс RaggedTensor,
    который представляет рваный тензор
  • метод to_tensor,
    который преобразует рваный тензор в плотный
  • метод to_list,
    который преобразует рваный тензор в список
  • метод with_row_splits_dtype,
    который меняет тип данных разбиения по строкам
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить