Ich möchte jeden anderen Wert entlang einer bestimmten Dimension eines Tensors maskieren, sehe aber keinen guten Weg, eine solche Maske zu erzeugen. Zum BeispielBinäre Maske in Tensorflow
#Masking on the 2nd dimension
a = [[1,2,3,4,5],[6,7,8,9,0]
mask = [[1,0,1,0,1],[1,1,1,1,1]]
b = a * mask #would return [[1,0,3,0,5],[6,0,8,0,0]]
Gibt es eine einfache Möglichkeit, eine solche Maske zu generieren?
Im Idealfall würde Ich mag so etwas wie die folgenden Funktionen ausführen:
mask = tf.ones_like(input_tensor)
mask[:,::2] = 0
mask * input_tensor
Aber Scheibe Zuordnung nicht so einfach wie in Numpy zu sein scheint.
Ich kann in meinem Fall guaruntee, dass die Dimension ich eine gerade Anzahl von Elementen maskieren will so die perfekt funktioniert. Vielen Dank! –
Ich glaube nicht, dass tf.boolean_mask() die Dimensionen des ursprünglichen Tensors beibehält. Es gibt vielmehr die nicht maskierten Elemente in 1-d-Form zurück. –