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

Класс RaggedTensor

Класс RaggedTensor создает рваный тензор, то есть тензор, в котором вложенные последовательности могут иметь разную длину. Обычный тензор требует одинаковой длины по каждой оси, а рваный тензор это ограничение снимает. Первым параметром передаются значения вложенных последовательностей, а дополнительными параметрами можно задать структуру вложенности. Такой класс удобен для работы с текстами, списками переменной длины и разреженными данными.

Создать рваный тензор можно напрямую из вложенных списков через метод tf.ragged.constant или с помощью служебных методов from_row_splits и from_row_lengths. Объект класса поддерживает приведение к обычному тензору, к списку и к разреженному тензору.

Синтаксис

tf.ragged.constant(pylist, [dtype], [ragged_rank], [inner_shape])

Пример

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

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

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

<tf.RaggedTensor [[1, 2, 3], [4, 5], [6]]>

Пример

Давайте создадим рваный тензор с типом float32:

import tensorflow as tf t = tf.ragged.constant([[1, 2, 3], [4, 5], [6]], dtype=tf.float32) print(t)

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

<tf.RaggedTensor [[1.0, 2.0, 3.0], [4.0, 5.0], [6.0]]>

Пример

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

import tensorflow as tf t = tf.ragged.constant([[1, 2, 3], [4, 5], [6]]) print(t.values) print(t.row_splits)

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

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

Пример

Давайте преобразуем рваный тензор в обычный тензор с помощью метода to_tensor:

import tensorflow as tf t = tf.ragged.constant([[1, 2, 3], [4, 5], [6]]) res = t.to_tensor() print(res)

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

tf.Tensor( [[1 2 3] [4 5 0] [6 0 0]], shape=(3, 3), dtype=int32)

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

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