Nehmen wir an, dass x und y zwei N-dimensional
Tensoren sind, wobei beide die gleichen Abmessungen haben und die erste Dimension die Größe S (die Stapelgröße) hat. Lassen Sie uns sagen b ein 1-dimensional
Tensor booleans ist, der die Größe S.Umschalten zwischen den Tensoren in zwei separaten Stapeln
I z, ein N-dimensionalen Tensor definiert produzieren wollen als:
z[i] = b[i] ? x[i] : y[i] for i from 0 to (S-1)
wo x[i]
auf dem i-ten bezieht sich (N-1)-dimensional
Scheibe x.
Was ist der einfachste Weg, dies zu tun? Ich dachte, tf.cond würde funktionieren, aber es akzeptiert nur skalarwertige Prädikate. Vielen Dank!
tf.where sieht perfekt aus, danke! Wissen Sie zufällig, ob es eine Variante dieser Funktion gibt, die auf mehr als zwei Arten verzweigt? –
Sie können die Tensoren, zwischen denen Sie verzweigen möchten, 'tfstack'n und dann' tf.gather', um zwischen ihnen zu wählen. –
Ich werde sehen, ob das funktioniert, danke für Ihre Hilfe! –