Ich habe einfache Codes wie unten gezeigt:
%Vor%Ich erhalte jedoch die folgenden Fehlerinformationen:
%Vor%Außerdem, wenn ich die Funktion desano.tensor verwende, scheint es, dass das, was es zurückgibt, "Tensor" genannt wird, und ich kann es nicht einfach auf den Typ numpy.array umschalten, auch wenn das Ergebnis wie aussehen sollte eine Matrix.
Das ist meine Frage: Wie kann ich outxx umschreiben, um numpy.array einzugeben?
Theano "Tensor" Variable sind symbolische Variable. Was Sie mit ihnen bauen, ist wie ein Programm, das Sie schreiben. Sie müssen eine Theano-Funktion kompilieren, um das Programm auszuführen. Es gibt 2 Möglichkeiten, eine Theano-Funktion zu kompilieren:
%Vor%Wenn Sie eine Theano-Funktion kompilieren, müssen Sie angeben, was die Eingabe ist und was die Ausgabe ist. Deshalb gibt es 2 Parameter im Aufruf von theano.function (). eval () ist eine Schnittstelle, die eine Theano-Funktion für bestimmte symbolische Eingaben mit entsprechenden Werten kompiliert und ausführt.
Da testxx
sum()
von theano.tensor
verwendet und nicht von numpy
, erwartet es wahrscheinlich ein TensorVariable
als Eingabe und kein numpy Array.
= & gt; Ersetzen Sie a = np.array(...)
durch a = T.matrix(dtype=theano.config.floatX)
.
Vor der letzten Zeile ist outxx
dann ein TensorVariable
, das von a
abhängt. Sie können es also auswerten, indem Sie den Wert von a
angeben.
= & gt; Ersetzen Sie Ihre letzte Zeile outxx = np.asarray(...)
durch die folgenden zwei Zeilen.
Der folgende Code wird ohne Fehler ausgeführt.
%Vor%Theano-Dokumentation zu Hinzufügen von Skalaren gibt andere ähnliche Beispiele.