Warum kann ich das umgestaltete Tensorvariable in theano nicht auswerten?

Warum kann ich das umgestaltete Tensorvariable nicht durch den Code auswerten, den ich unten geschrieben habe?

from theano import shared from theano import tensor as T import numpy x = T.matrix('x') # the input data # input = (nImages, nChannel(nFeatureMaps), nDim1, nDim2, nDim3) layer1_input = T.reshape(x, xTrain.shape, ndim=5) layer1_input.eval({x:xTrain}) 

Da ich das tensorvariable x umgestaltet habe und ein numpy Array derselben Dimension dazu passiere, berichtet es einfach,

TypeError: ('Schlechtes Eingabe-Argument zu theano-Funktion mit Namen': 17 "bei Index 0 (0-basiert) ',' Falsche Anzahl von Dimensionen: erwartet 2, bekam 5 mit Form (2592, 1, 51, 61, 23) . ')

  • Bauen Sie benutzerdefinierte Caffe Schicht in Python
  • Mit einem vorprogrammierten Worteinbettung (word2vec oder Handschuh) in TensorFlow
  • Ist es möglich, den objektiven Funktionswert bei jedem Trainingsschritt zu erhalten?
  • Den letzten Wert der LSTM-Sequenz in Tensorflow abrufen
  • Was sieht die negative Log-Wahrscheinlichkeit der logistischen Regression in theano aus?
  • Wie fügt man Regelungen in TensorFlow hinzu?
  • Super hohe Kosten Tensorflow
  • Finden Sie die richtigen Parameter für neuronales Netzwerk für Pong-Spiel
  • One Solution collect form web for “Warum kann ich das umgestaltete Tensorvariable in theano nicht auswerten?”

    Ich denke, das Problem ist, weil Sie matrix (zweidimensional) als Datentyp von x , die eine fünfdimensionale Eingabe xTrain . Wie hier gesagt, für fünfdimensionale Eingabe, sollten Sie einen benutzerdefinierten Datentyp erstellen.

    Beispielcode:

     from theano import tensor as T import numpy as np xTrain = np.random.rand(1,1,2,3,3).astype('float32') dtensor5 = T.TensorType('float32', (False,)*5) x = dtensor5('x') layer1_input = x print layer1_input.eval({x:xTrain}) 

    und über

    Da habe ich das tensorvariable x umgestaltet und gebe ein numpy Array derselben Dimension dazu

    Ich denke, was tatsächlich passieren ist variabel x erhalten die Eingabe zuerst (heben Sie einen Fehler) und dann layer1_input Sie es für layer1_input

    Python ist die beste Programmiersprache der Welt.