Есть ли способ в TensorFlow удвоить размер тензора логической маски с помощью «False» -элементов? Другими словами, после каждого элемента я хочу добавить элемент «False».
Например, моя логическая маска выглядит следующим образом:
Mask = [True False True False]
После удвоения размера с помощью "False" -элементов это должно выглядеть так:
Mask = [True False False False True False False False]
Создайте маску False
той же формы, сложите ее с исходным mask
, а затем сгладьте с помощью reshape
:
import tensorflow as tf
tf.InteractiveSession()
mask = tf.constant([True, False, True, False])
mask_false = tf.constant(False, shape=mask.shape)
mask_stack = tf.stack((mask, mask_false), axis=1)
tf.reshape(mask_stack, (-1,)).eval()
# array([ True, False, False, False, True, False, False, False], dtype=bool)
Для тех, кто его не получил (например, я),
axis=1
в стеке дает матрицу из 2 столбцов, которые состоят из элементов маски в паре с False.