2017-11-21 1 views
2

ich bin mit tensorflow in Bildklassifizierungs- Problem, aber ich fühle mich in dem Teil im Zusammenhang mit Eingang Umformung das in diesem Fall ein BildUmformen Bild-Feed tensorflow

i misc verwenden nehmen Bild und die Größe es

verloren
image = misc.imread("actor.jpg") 
resize_image = misc.imresize(image,[224, 224], interp='nearest') 

und Bildform ist

(224, 224, 3)

i einen Fehler zu Bild im Zusammenhang unvereinbar

ValueError: Cannot feed value of shape (224, 224, 3) for Tensor u'input_image_2:0', which has shape '(?, 224, 224, 3)' 

was ist mit gemeint? und wie richtig

Dank im Voraus

Antwort

3

Viele Bildfunktionen erwarten Chargen mit mehreren Bildern zu tun, Ändern der Größe. Die erste Dimension identifiziert den Index eines Bildes im Stapel. Wenn Sie nur ein Bild zu verarbeiten haben, können Sie es mit dem folgenden Code neu zu gestalten:

resize_image = tf.reshape(image, [-1, 224, 224, 3]) 
+0

Dank i die richtige Form danach bekommen, aber ich habe eine anderen Fehler Typeerror: Der Wert ein Futters keine sein kann tf.Tensor Objekt. Zu den zulässigen Feed-Werten gehören Python-Skalare, Strings, Listen, numpy ndarrays oder TensorHandles. –

+0

Das ist ein guter Punkt. Sie sollten Ihre Bilddaten wahrscheinlich als ein NDarray anstelle eines Tensors behalten und 'np.reshape' anstelle von' tf.reshape' verwenden. Sie würden also 'resize_image = image.reshape ([- 1, 224, 224, 3])' 'verwenden – MatthewScarpino