tf.squeeze
| Просмотреть исходный код на GitHub |
Удаляет размерности размером 1 из формы тензора.
tf.squeeze(
input, axis=None, name=None
)
Для данного тензора 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— количество элементов в сжатых размерностях.
| Аргументы | |
|---|---|
input | Tensor. input для сжатия. |
axis | Необязательный список ints. По умолчанию []. Если указано, сжимаются только указанные размерности. Индекс размерности начинается с 0. Ошибка, если размерность не равна 1. Должен быть в диапазоне [-rank(input), rank(input)). Должен быть указан, если input является RaggedTensor. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Tensor. Имеет тот же тип, что и input. Содержит те же данные, что и input, но с удалёнными одной или несколькими размерностями размера 1. |
| Исключения | |
|---|---|
ValueError | Вход не может быть преобразован в тензор, или указанная ось не может быть сжата. |
© 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.3/api_docs/python/tf/squeeze