2017-01-09 101 views
0

我處理以下錯誤:如何在Python中爲Tensorflow預測設置圖像形狀?

ValueError: Cannot feed value of shape (32, 32, 3) for Tensor 'Placeholder:0', which has shape '(?, 32, 32, 3)' 

佔位符設置爲:x = tf.placeholder(tf.float32, (None, 32, 32, 3))

而且圖像(運行print(img1.shape)時),具有輸出:(32, 32, 3)

我怎樣才能更新運行時要對齊的圖像:print(sess.run(correct_prediction, feed_dict={x: img1}))

+0

重塑IMG(1,32,32,3) –

+0

謝謝!有關如何做到這一點的任何提示? –

+0

img.reshape((1,32,32,3)) –

回答

1

程序中的佔位符x代表批次 32x32(推測)RGB圖像,其預測將在一個單一的步驟計算。如果要計算單個圖像—上的預測,即形狀爲(32, 32, 3) —的陣列,則必須重新構造它以具有其他主要維度。有很多方法可以做到這一點,但np.newaxis是一個很好的方式做到這一點:

img1 = ...        # Array of shape (32, 32, 3) 
img1_as_batch = img1[np.newaxis, ...] # Array of shape (1, 32, 32, 3) 

print(sess.run(correct_prediction, feed_dict={x: img1_as_batch})) 
相關問題