Spec-Zone.ru › TensorFlow 2.9

tf.expand_dims

View source on GitHub

Возвращает тензор с осью длиной 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 A 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/versions/r2.9/api_docs/python/tf/expand_dims

Spec-Zone.ru

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