我最近已經被煩惱由以下錯誤消息:形如何張量陣列?
ValueError: Cannot feed value of shape (2455040,) for Tensor 'Placeholder:0', which has shape '(2455040, ?)'
正被從運行下面的代碼產生:
NUMCLASSES=16
NUMPIXELS=959*640*4
# set up to feed an array of images [images, size_of_image]
x = tf.placeholder(tf.float32, [NUMPIXELS,None])
.... .... deletia
# Define loss and optimizer..why is this 2d?
y_ = tf.placeholder(tf.float32, [None,NUMCLASSES])
sess = tf.InteractiveSession()
tf.global_variables_initializer().run(session=sess)
tl = get_tensor_list()
for f, n in tl:
str = '/users/me/downloads/train/' + f
mm = Image.open(str)
mm = mm.convert('F')
mma=np.array(mm)
i = mma.flatten() #now this is an array of floats of size NUMPIXELS
sess.run(train_step, feed_dict={x: i, y_: n}) # <<DEATH
不知何故,該數組得到了一個形狀,當它想要(x,?)]時,它不喜歡[(x,))。如何在這種情況下滿足tensorgods?張量必須是未經討論的其他數學原因所必須的。
請考慮清楚地寫出問題。您的示例代碼也很模糊。 –
我會再試一次:我聲明一個形狀的張量[NUMPIXELS,無],並獲得一個形狀[ROWPIX,COLPIX]的圖像,我將它變成[NUMPIXELS],當我將它傳遞給sess.run() 。我想這些問題是:(1)如何強制圖像的形狀[NUMPIXELS]; (2)張量爲[NUMPIXELS,無(==?)]時爲什麼形狀[NUMPIXELS]不夠好? –