Spec-Zone.ru › TensorFlow

tf.expand_dims

Возвращает тензор с осью длины 1, вставленной по индексу axis.

tf.expand_dims(
    input, axis, name=None
)

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

Используется в руководстве Используется в учебных материалах
  • Типы расширений
  • Импорт модели JAX с помощью JAX2TF
  • Перенос `tf.feature_column`s на слои предварительной обработки Keras
  • Маскирование и заполнение
  • Работа с RNN
  • Интегральные градиенты
  • Игра в CartPole с помощью метода Actor-Critic
  • Создание музыки с помощью RNN
  • DeepDream
  • pix2pix: преобразование изображений с помощью условной GAN

Для заданного тензора 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

Spec-Zone.ru

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