Spec-Zone.ru › TensorFlow

tf.squeeze

Удаляет измерения размера 1 из формы тензора.

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

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

Используется в руководстве Используется в учебниках
  • Логистическая регрессия для бинарной классификации с помощью Core API
  • Многослойные перцептроны для распознавания цифр с помощью Core API
  • Быстрый старт для TensorFlow Core API
  • Строки Unicode
  • Обучаемое сжатие данных
  • Генерация музыки с помощью RNN
  • Простое распознавание аудио: распознавание ключевых слов
  • Введение в автоэнкодеры
  • Перенос обучения с помощью YAMNet для классификации звуков окружающей среды

Для данного тензора input данная операция возвращает тензор того же типа со всеми измерениями размера 1, удаленными. Если вы не хотите удалять все измерения размера 1, вы можете удалить определенные измерения размера 1, указав axis.

Например:

# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
tf.shape(tf.squeeze(t))  # [2, 3]

Или, чтобы удалить определенные измерения размера 1:

# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
tf.shape(tf.squeeze(t, [2, 4]))  # [1, 2, 3, 1]

В отличие от более старой операции tf.compat.v1.squeeze, эта операция не принимает устаревший squeeze_dims аргумент.

Примечание: если input является tf.RaggedTensor, то эта операция занимает время O(N), где N — количество элементов в сжимаемых измерениях.
Примечание: Если сжатие выполняется по измерениям неизвестного размера, то возвращаемый тензор будет иметь неизвестную форму. Частая ситуация — когда первое (партийное) измерение имеет размер None, tf.squeeze возвращает <unknown> форму, что может быть неожиданно. Укажите аргумент axis=, чтобы получить ожидаемый результат, как показано в следующем примере:
@tf.function
def func(x):
  print('x.shape:', x.shape)
  known_axes = [i for i, size in enumerate(x.shape) if size == 1]
  y = tf.squeeze(x, axis=known_axes)
  print('shape of tf.squeeze(x, axis=known_axes):', y.shape)
  y = tf.squeeze(x)
  print('shape of tf.squeeze(x):', y.shape)
  return 0

_ = func.get_concrete_function(tf.TensorSpec([None, 1, 2], dtype=tf.int32))
# Output is.
# x.shape: (None, 1, 2)
# shape of tf.squeeze(x, axis=known_axes): (None, 2)
# shape of tf.squeeze(x): <unknown>
Args
input A Tensor. The input to squeeze.
axis An optional list of ints. Defaults to []. If specified, only squeezes the dimensions listed. The dimension index starts at 0. It is an error to squeeze a dimension that is not 1. Must be in the range [-rank(input), rank(input)). Must be specified if input is a RaggedTensor.
name A name for the operation (optional).
Returns
A Tensor. Has the same type as input. Contains the same data as input, but has one or more dimensions of size 1 removed.
Raises
ValueError The input cannot be converted to a tensor, or the specified axis cannot be squeezed.

© 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/squeeze

Spec-Zone.ru

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