tf.sparse.expand_dims
| Просмотреть исходный код на GitHub |
Возвращает тензор с осью длиной 1, вставленной в индекс axis.
tf.sparse.expand_dims(
sp_input, axis=None, name=None
)
Учитывая тензор input, эта операция вставляет измерение длиной 1 в индекс измерения axis формы input. Индекс измерения следует правилам индексирования Python: он нулевой, а отрицательный индекс вычисляется от конца.
Эта операция полезна для:
- Добавление внешнего измерения «пакета» к одиночному элементу.
- Выравнивание осей для трансляции.
- Добавление оси внутреннего размера вектора к тензору скаляров.
Например:
Если у вас есть разреженный тензор с формой [height, width, depth]:
sp = tf.sparse.SparseTensor(indices=[[3,4,1]], values=[7,],
dense_shape=[10,10,3])
Вы можете добавить внешнюю batch ось, передав axis=0:
tf.sparse.expand_dims(sp, axis=0).shape.as_list() [1, 10, 10, 3]
Новое расположение оси соответствует правилу Python list.insert(axis, 1):
tf.sparse.expand_dims(sp, axis=1).shape.as_list() [10, 1, 10, 3]
Согласно стандартным правилам индексирования Python, отрицательный axis отсчитывается с конца, поэтому axis=-1 добавляет внутреннее измерение:
tf.sparse.expand_dims(sp, axis=-1).shape.as_list() [10, 10, 3, 1]
Примечание: В отличие отtf.expand_dimsэта функция включает значение по умолчанию дляaxis:-1. Таким образом, если `axis` не указан, добавляется внутреннее измерение.
sp.shape.as_list() [10, 10, 3] tf.sparse.expand_dims(sp).shape.as_list() [10, 10, 3, 1]
Эта операция требует, чтобы axis был допустимым индексом для input.shape, следуя правилам индексирования Python:
-1-tf.rank(input) <= axis <= tf.rank(input)
Эта операция связана с:
-
tf.expand_dims, который предоставляет эту функциональность для плотных тензоров. -
tf.squeeze, который удаляет измерения размера 1 из плотных тензоров. -
tf.sparse.reshape, который предоставляет более гибкие возможности изменения формы.
| Аргументы | |
|---|---|
sp_input | Разреженный тензор. |
axis | 0-мерное (скалярное). Указывает индекс измерения, в котором необходимо расширить форму input. Должен находиться в диапазоне [-rank(sp_input) - 1, rank(sp_input)]. По умолчанию -1. |
name | Имя выходного SparseTensor. |
| Возвращает | |
|---|---|
Разреженный тензор с теми же данными, что и sp_input, но его форма имеет дополнительное измерение размера 1. |
© 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/r2.4/api_docs/python/tf/sparse/expand_dims