tf.expand_dims
Возвращает тензор с осью длины 1, вставленной по индексу axis.
tf.expand_dims(
input, axis, name=None
)
Используется в блокнотах
| Используется в руководстве | Используется в учебных материалах |
|---|---|
Для заданного тензора input эта операция вставляет измерение длины 1 по индексу измерения axis в форме input. Индекс измерения следует правилам индексирования Python: отсчёт начинается с нуля, а отрицательный индекс отсчитывается с конца.
Эта операция полезна для следующих задач:
- Добавления внешнего измерения «пакет» к одному элементу.
- Выравнивания осей для широковещательного распространения.
- Добавления внутренней оси длины вектора к тензору скаляров.
Например:
Если у вас есть одно изображение формы [height, width, channels]:
image = tf.zeros([10,10,3])
Можно добавить внешнюю ось batch, передав axis=0:
tf.expand_dims(image, axis=0).shape.as_list() [1, 10, 10, 3]
Расположение новой оси соответствует правилам Python list.insert(axis, 1):
tf.expand_dims(image, axis=1).shape.as_list() [10, 1, 10, 3]
Согласно стандартным правилам индексирования Python, отрицательное значение axis отсчитывается с конца, поэтому axis=-1 добавляет самое внутреннее измерение:
tf.expand_dims(image, -1).shape.as_list() [10, 10, 3, 1]
Для этой операции требуется, чтобы axis был допустимым индексом для input.shape согласно правилам индексирования Python:
-1-tf.rank(input) <= axis <= tf.rank(input)
С этой операцией связаны следующие:
-
tf.squeeze, удаляющая измерения размера 1. -
tf.reshape, предоставляющая более гибкие возможности изменения формы. -
tf.sparse.expand_dims, предоставляющая эту функциональность дляtf.SparseTensor
| Аргументы | |
|---|---|
input | Tensor. |
axis | Целое число, задающее индекс измерения, по которому нужно расширить форму input. Для входных данных размерности D значение axis должно находиться в диапазоне [-(D+1), D] (включительно). |
name | Необязательная строка. Имя выходного Tensor. |
| Возвращает | |
|---|---|
Тензор с теми же данными, что и input, и дополнительным измерением, вставленным по индексу, указанному в axis. |
| Вызывает исключения | |
|---|---|
TypeError | Если axis не указано. |
InvalidArgumentError | Если axis выходит за пределы диапазона [-(D+1), D]. |
© 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/expand_dims