2016-02-13 7 views
9

dostaję następujący błądbłąd Tensorflow przy obliczaniu poprzecznego strat entropii

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

przy próbie obliczenia strat poniesionych entropia

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

używam Python 3.4.3.

Jakieś pomysły, dlaczego?

Odpowiedz

16

Wygląda na to, że zdefiniowałeś input_y -nie przyjmując, że jest to tf.placeholder() - mający typ tf.int32. Zmień to na tf.float32 lub dodaj cast: tf.cast(input_y, tf.float32) lub tf.to_float(input_y).

+0

Dziękuję, casting rozwiązał problem. – anamar

+0

Nie mogę znaleźć obsady lub to_float w tflearn, który moduł musimy zaimportować? – f3n1Xx

+0

'tf.cast()' i 'tf.to_float()' są funkcjami TensorFlow, więc otrzymasz je za pomocą 'import tensorflow as tf'. – mrry

Powiązane problemy