Ho il seguente codice che memorizza 2 matrici in un tensore 3D.Matrici di stack Theano programmaticamente?
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)
Tuttavia, non so quante volte ho bisogno di impilare la matrice in anticipo. Ad esempio la quarta linea di codice può essere:
B = theano.tensor.stack(A, A, A)
B = theano.tensor.stack(A, A, A, A)
etc...
C'è una funzione Teanò per duplicare una matrice n volte:
theano.some_function(A, 3) = theano.tensor.stack(A, A, A)
Allora posso passare che 3, come argomento della funzione Theano f. È possibile? Ho esaminato la trasmissione ma la trasmissione non modifica in modo esplicito dimensionalità/stack.
Sei sicuro di aver bisogno di questo? Che problema stai cercando di risolvere? Principalmente, quando si verifica la replica matrice, il problema può essere formulato in modo diverso, evitandolo. Pubblicherò una risposta usando la trasmissione, solo per completare l'immagine, ma l'effettiva modifica che si desidera apportare dipende dal problema. – eickenberg