私は最近、次のエラーメッセージで腹を立ててきた:どのようにテンソル配列ですか?
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
:次のコードを実行しているから生産されている
ValueError: Cannot feed value of shape (2455040,) for Tensor 'Placeholder:0', which has shape '(2455040, ?)'
どういうわけか、その配列は、tfが望むときに[(x、)]が好きではない形をしています。この場合のテンソルードをどのように満たすか?テンソルは、議論されていない他の数学的な理由からでなければなりません。
質問を明確に書くことを検討してください。あなたのサンプルコードもあいまいです。 –
もう一度やり直してみましょう:テンソルの形状[NUMPIXELS、なし]を宣言して、形状[ROWPIX、COLPIX]のイメージを取得して、[NUMPIXELS]にフラット化して、sess.run() 。私は質問があると仮定します:(1)画像の形を[NUMPIXELS]に強制する方法。 (2)テンソルが[NUMPIXELS、None(==?)]のときに形状[NUMPIXELS]が十分でないのはなぜですか? –