Ich habe den folgenden Code, der 2 Matrizen in einen 3D-Tensor stapelt.Theano Stapelmatrizen programmgesteuert?
import theano
import theano.tensor as T
A = T.matrix("A")
B = theano.tensor.stack(A, A)
f = theano.function(inputs=[A], outputs=B)
print f([range(10)]*2)
Allerdings weiß ich nicht, wie oft ich die Matrix im Voraus stapeln muss. Zum Beispiel kann die vierte Codezeile sein:
B = theano.tensor.stack(A, A, A)
B = theano.tensor.stack(A, A, A, A)
etc...
Gibt es eine Theanos Funktion eine Matrix n-mal zu duplizieren:
theano.some_function(A, 3) = theano.tensor.stack(A, A, A)
Dann kann ich das 3 passieren, als Argument an die Theano Funktion f. Ist das möglich? Ich habe mich mit Broadcasting beschäftigt, aber Broadcasting ändert Dimensionalität/Stack nicht explizit.
Sind Sie sicher, dass Sie das brauchen? Welches Problem versuchen Sie zu lösen? Wenn Matrixreplikation auftritt, kann das Problem meist anders formuliert und vermieden werden. Ich werde eine Antwort mit Broadcasting posten, nur um das Bild zu vervollständigen, aber die tatsächliche Änderung, die Sie vornehmen möchten, ist problemabhängig. – eickenberg