Мой вопрос о трансляции между двумя tensorflow
объектами разных размеров. Да, широковещательная передача обрабатывает операции между объектами неравных размеров и передает массив с меньшим shape
по массиву с большим shape
.
Мой вопрос:
Boolean_mask.shape: (19, 19, 5)
type
для Boolean_mask
:
Tensor("GreaterEqual_5:0", shape=(19, 19, 5), dtype=bool)
Примечание. Каждое расположение 19 на 19 содержит список из 5 booleans
.
Values_tensor.shape: (19, 19, 5, 4)
type
из Values_tensor
:
Tensor("random_normal_19:0", shape=(19, 19, 5, 4), dtype=float32)
Я применяю Boolean_mask
к Values_tensor
Операция:
import tensorflow as tf boxes = tf.boolean_mask(Values_tensor, Boolean_mask)
Результат этой операции (?, 4)
.
Я понимаю размеры этого результата.
У меня вопрос:
Почему здесь работает вещание? Поскольку формы несовместимы для передачи в эфир
Boolean_mask.shape: (19, 19, 5) Values_tensor.shape: (19, 19, 5, 4)
Я понимаю, что вещание могло бы работать в этом случае, если бы формы были:
Boolean_mask.shape: (19, 19, 5, 1) Values_tensor.shape: (19, 19, 5, 4)
Для форм (19, 19, 5)
и (19, 19, 5, 4)
кажется, сначала было создано новое измерение, а затем произошла трансляция?