Spec-Zone.ru › TensorFlow

tf.sparse.transpose

Транспонирует SparseTensor.

Просмотр псевдонимов

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

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

tf.compat.v1.sparse.transpose, tf.compat.v1.sparse_transpose

tf.sparse.transpose(
    sp_input, perm=None, name=None
)

Используется в ноутбуках

Используется в руководстве
  • Работа с разреженными тензорами

Переупорядочивает измерения в соответствии со значением perm. Это разреженная версия tf.transpose.

Измерения возвращаемого тензора i будут соответствовать измерениям входного тензора perm[i]. Если perm не указано, оно устанавливается в (n-1...0), где n — ранг входного тензора. Таким образом, по умолчанию эта операция выполняет обычную транспонирование матрицы для входных тензоров 2-мерного вида.

Например:

x = tf.SparseTensor(indices=[[0, 1], [0, 3], [2, 3], [3, 1]],
                    values=[1.1, 2.2, 3.3, 4.4],
                    dense_shape=[4, 5])
print('x =', tf.sparse.to_dense(x))
x = tf.Tensor(
[[0.  1.1 0.  2.2 0. ]
[0.  0.  0.  0.  0. ]
[0.  0.  0.  3.3 0. ]
[0.  4.4 0.  0.  0. ]], shape=(4, 5), dtype=float32)
x_transpose = tf.sparse.transpose(x)
print('x_transpose =', tf.sparse.to_dense(x_transpose))
x_transpose = tf.Tensor(
[[0.  0.  0.  0. ]
[1.1 0.  0.  4.4]
[0.  0.  0.  0. ]
[2.2 0.  3.3 0. ]
[0.  0.  0.  0. ]], shape=(5, 4), dtype=float32)

Аналогично, вы можете вызвать tf.sparse.transpose(x, perm=[1, 0]). Аргумент perm более полезен для n-мерных тензоров, где n > 2.

x = tf.SparseTensor(indices=[[0, 0, 1], [0, 0, 3], [1, 2, 3], [1, 3, 1]],
                    values=[1.1, 2.2, 3.3, 4.4],
                    dense_shape=[2, 4, 5])
print('x =', tf.sparse.to_dense(x))
x = tf.Tensor(
[[[0.  1.1 0.  2.2 0. ]
  [0.  0.  0.  0.  0. ]
  [0.  0.  0.  0.  0. ]
  [0.  0.  0.  0.  0. ]]
[[0.  0.  0.  0.  0. ]
  [0.  0.  0.  0.  0. ]
  [0.  0.  0.  3.3 0. ]
  [0.  4.4 0.  0.  0. ]]], shape=(2, 4, 5), dtype=float32)

Как и выше, просто вызвав tf.sparse.transpose по умолчанию будет perm=[2,1,0].

Чтобы транспонировать пакет разреженных матриц, где 0 — размерность пакета, вы бы установили perm=[0,2,1].

x_transpose = tf.sparse.transpose(x, perm=[0, 2, 1])
print('x_transpose =', tf.sparse.to_dense(x_transpose))
x_transpose = tf.Tensor(
[[[0.  0.  0.  0. ]
  [1.1 0.  0.  0. ]
  [0.  0.  0.  0. ]
  [2.2 0.  0.  0. ]
  [0.  0.  0.  0. ]]
[[0.  0.  0.  0. ]
  [0.  0.  0.  4.4]
  [0.  0.  0.  0. ]
  [0.  0.  3.3 0. ]
  [0.  0.  0.  0. ]]], shape=(2, 5, 4), dtype=float32)
Args
sp_input Входной SparseTensor.
perm Вектор перестановки измерений sp_input.
name Префикс имени для возвращаемых тензоров (необязательно).
Returns
Транспонированный SparseTensor.
Raises
TypeError Если sp_input не является SparseTensor.

© 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/api_docs/python/tf/sparse/transpose

Spec-Zone.ru

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