Sie müssen einen Wert für den Platzhalter Tensor 'Platzhalter' mit dtype float einspeisen

8

Ich bin ein neuerer Tensorflow, ich weiß wirklich nicht, wie ich das Problem lösen soll.

Der Code ist wie folgt:

  1. Feed den Zug mit Werten:

    %Vor%
  2. Verwenden Sie den Wert in CNN:

    %Vor%

Dann haben Sie den Fehler

  

InvalidArgumentError (siehe oben für Traceback): Sie müssen einen Wert für den Platzhalter Tensor 'Placeholder' mit dtype float einspeisen        [[Node: Placeholder = Platzhalterdateityp = DT_FLOAT, shape = [], _device="/ job: localhost / replik: 0 / task: 0 / gpu: 0"]]

Ich drucke die eingegebenen Werttypen mit print(e.dtype) und das Ergebnis ist float32 und e.shape:(10, 32, 32, 1) .

Ich weiß wirklich nicht, warum dieser Fehler passiert.

Das Codeformat

Erstens:

%Vor%

Zweitens:

%Vor%

Drittens ist die Sitzung:

%Vor%     
judyzha 12.01.2017, 07:13
quelle

2 Antworten

6

Einige Fragen

zuerst
Warum verwenden Sie sess = tf.InteractiveSession() und with tf.Session() as sess: gleichzeitig, nur neugierig

Sekunde Wie lautet der Name Ihres Platzhalters x oder images ?
Wenn name x ist, wird {images: x_data...} nicht x_data an x liefern, es überschreibt (?) images
Ich denke feed_dict sollte {x: x_data...}

sein

Wenn der Name images ist, haben Sie zwei images in Ihrem Programm, placeholder und shuffle data , versuchen Sie den Namen der Variablen zu ändern

    
xxi 12.01.2017, 08:08
quelle
1

Ich habe ein Problem mit dem Code gesehen. Es gibt zwei Variablen mit dem gleichen Namen label . Einer von ihnen bezieht sich auf einen Tensor und der andere bezieht sich auf einige Daten. Wenn Sie label: label in feed_dict festlegen, müssen Sie zwischen den beiden Variablen unterscheiden. Vielleicht können Sie versuchen, den Namen für eine der Variablen zu ändern?

    
Targo 08.09.2017 21:01
quelle

Tags und Links