Ich habe drei Arrays, X
, Y
und Z
. Ich möchte res
und Element von X
setzen, falls das entsprechende Element von Z
wahr ist; Ansonsten werde ich ein Element aus Y
setzen.wo() von 1 bis 2 Positionsargumente nimmt, aber 3 wurden gegeben
ich es wie folgt umgesetzt:
X = tf.constant([[1, 2], [3, 4]])
Y = tf.constant([[5, 6], [7, 8]])
Z = tf.constant([[True, False], [False, True]], tf.bool)
res = tf.where(Z, X, Y)
print(res.eval())
Allerdings habe ich diese Störung erhalte:
TypeError: where() takes from 1 to 2 positional arguments but 3 were given
ich an der Definiton von tf.where
sah von here und meine Nutzung scheint in Ordnung.
Jede Idee, was könnte das Problem sein?
können Sie versuchen, 'tf.where (Z, x = X, y = Y)' – pramod
Ihr Code funktioniert gut mit TensorFlow 1.0.1, also bin ich neugierig: die TF Version verwendest du? – npf