2016-07-10 4 views
1

Ich möchte das symbolische Ergebnis von v * v.transpose berechnen, wobei v ein n * 1 Tensorvektor ist. Die Transponierung des Tensors funktioniert jedoch nicht für Vektor. Und ich möchte get_value() nicht verwenden, weil ich danach einen symbolischen Gradienten machen möchte. Wie soll ich vorgehen, um die symbolische Transponierung zu erhalten?Wie berechnet man symbolische theano vektor transpose?

+0

es diesen Tensor-Vektor v verwirrend sein kann, Es ist nicht eine echte Vektorvariable, es ist nur eine One-d-Array und dann Ich benutze theano.shared ändere es in eine symbolische Variable – ssydasheng

Antwort

2

theano.tensor.transpose ist mit Vektor arbeiten. Unten ist der Code symbolischen v * v.transpose in Theano zu tun.

import theano 
import theano.tensor as T 

v = T.ivector("v") 
b = T.dot(v,T.transpose(v)) 
z = theano.function([v],b) 

A = [1,2,3] 
x = z(A) 
print x