我正在调整其中一个MNIST tensorflow教程,我收到了这个TypeError。根据{{3}},您必须在字典键中使用占位符,因为numpy数组是可变的。我相信我正在这样做,但我仍然收到这个错误。
# Network Parameters
n_input = 44100 # length of FFT
n_classes = 6 # 6 instrument classes
dropout = 0.75 # Dropout, probability to keep units
# TF Graph input
x = tf.placeholder(tf.float32, [None, n_input])
y = tf.placeholder(tf.float32, [None, n_classes])
keep_prob = tf.placeholder(tf.float32)
我填写我的批次,然后将它们传递给会议。
for file_name in os.listdir('./Input_FFTs'):
if file_name.endswith('.txt'):
path = './Input_FFTs/' + file_name
y, x = getData(path)
batch_ys[count] = y
batch_xs[count] = x
count += 1
sess.run(optimizer, feed_dict={x: batch_xs, y: batch_ys,
keep_prob: dropout})
当我打印并检查batch_xs和batch_ys的大小时,它们是[batch_size,44100]和[batch_size,6]并带有正确的数据。这些匹配x和y占位符的预期大小。
谁能告诉我这个问题可能是什么?
谢谢!
答案 0 :(得分:11)
对变量名称要非常小心!
我在我的循环中用数组x和y替换我的占位符x,y,以填充我的火车和测试补丁。