2016-02-13 8 views
9

Ich bekomme Fehler folgendeTensorflow Fehler beim Quer Entropieverlust Berechnung

ValueError: Tensor conversion requested dtype float32 for Tensor with dtype int32: 'Tensor("Placeholder_1:0", shape=TensorShape([Dimension(128), Dimension(2)]), dtype=int32)' 

, wenn ich versuche Verlust Kreuzentropie

losses = tf.nn.softmax_cross_entropy_with_logits(scores, input_y) 

Ich benutze Python 3.4.3 zu berechnen.

Irgendwelche Ideen warum?

Antwort

16

Es klingt, als ob Sie input_y definiert haben - ich nehme an, dass es sich um eine tf.placeholder() -seine Art tf.int32 handelt. Ändern Sie dies entweder in tf.float32 oder fügen Sie cast: tf.cast(input_y, tf.float32) oder tf.to_float(input_y) hinzu.

+0

Vielen Dank, Casting hat das Problem gelöst. – anamar

+0

ich kann Cast oder to_float in tflearn nicht finden, welches Modul müssen wir importieren? – f3n1Xx

+0

'tf.cast()' und 'tf.to_float()' sind TensorFlow-Funktionen, also würden Sie sie mit 'import Tensorflow as tf' abrufen. – mrry