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?
1
A
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
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