tf.sparse.transpose
Транспонирует SparseTensor.
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