Наличие двумерного тензора с одним фиксированным измерением и одним измерением переменной длины: как я могу ограничить измерение переменной длины максимальной длиной? Если переменная длина короче, то максимум должен быть сохранен (, а не дополнен ), но если он длиннее, он должен просто обрезать конец.
Например, предположим, что все тензоры имеют форму (None, 4)
, и я хочу ограничить их все максимальной формой (3, 4)
. Один пример ввода может быть:
tensor1 = tf.constant([
[1, 2, 0, 0],
[1, 3, 4, 0],
[0, 0, 0, 0],
[7, 7, 7, 7],
[7, 8, 9, 1],
], dtype=tf.int32)
..., который должен быть обрезан до:
tensor1_trimmed = tf.constant([
[1, 2, 0, 0],
[1, 3, 4, 0],
[0, 0, 0, 0],
], dtype=tf.int32)
Однако все, что меньше максимума, должно остаться без изменений:
tensor2 = tf.constant([
[9, 9, 9, 9],
[9, 9, 9, 9],
], dtype=tf.int32)
... должен оставаться точно таким же:
tensor2_trimmed = tf.constant([
[9, 9, 9, 9],
[9, 9, 9, 9],
], dtype=tf.int32)
Есть ли встроенная команда для этого? Или как бы вы этого добились?