2016-04-18 11 views
7

Ich habe eine Reihe von MxM symmetrisch Matrix Variablen in einem Diagramm, deren Werte ich optimieren möchte.Wie erzwingen Tensorfluss Tensoren symmetrisch zu sein?

Gibt es eine Möglichkeit, den symmetrischen Zustand zu erzwingen?

Ich habe darüber nachgedacht, der Verlustfunktion einen Begriff hinzuzufügen, um es zu erzwingen, aber das scheint umständlich und umständlich. Was ich mir erhofft hatte, ist etwas wie tf.matmul(A,B,symmA=True) wo nur ein dreieckiger Teil von A verwendet und gelernt werden würde. Oder vielleicht etwas wie tf.upperTriangularToFull(A), das eine dichte Matrix aus einem dreieckigen Teil erzeugen würde.

Antwort

1

Was ist, wenn Sie symA = 0.5 * (A + tf.transpose(A)) tun? Es ist ineffizient, aber zumindest ist es symmetrisch.

+4

Das würde die gewünschte Symmetrie schaffen, ja. Ich hatte gehofft, von einer Verringerung der Variablen zu profitieren –

Verwandte Themen