Ich benutze Keras mit einem Theano-Backend. Jetzt habe ich eine Variable x, die ein Theano-Tensor mit einem Typfeld "TensorType (float32, 3D)" ist.
Ich habeWarum ändert Keras Funktion "expand_dims" den Typ?
from keras import backend as K
am Anfang meiner Datei. Dann schrieb ich:
x = K.expand_dims(x, dim = 1)
ich erwartet, dass das Typ-Feld von x sein sollte "TensorType (float32, 4D)". Es ist jedoch "TensorType (float32, (False, True, False, False))", und ich kann den Grund nicht herausfinden. Außerdem enthält das Keras-Dokument keine weiteren Informationen zu dieser Funktion, es heißt lediglich, dass "eine 1-dimensionale Dimension am Index" dim "" hinzugefügt wird.
Außerdem, wenn I
x = K.squeeze(x, 1)
zuführen, wird das Typfeld von x "TensorType (float32, Matrix)", die erwartet wird.
Ich verstehe den Übertragungsmechanismus. In der Tat versuche ich einen Tensor von 'TensorType (float32, 4D)' zu einem Tensor von 'TensorType (float32, 3D)' zu drücken, mache etwas darauf und stelle ihn auf einen Tensor von 'TensorType (float32, 4D)) '. Allerdings kann ich es einfach auf einen Tensor von 'TensorType (float32, (False, True, False, False))' zurückstellen, und ich frage mich, wie ich es auf einen Tensor von 'TensorType (float32, 4D)' zurückstellen kann. – ptr