我正在努力改编 MNIST tensorflow 教程之一,我收到了这个 TypeError。根据this question你必须在字典键中使用占位符,因为 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)
我填满我的批处理,然后将它们传递给 session 。
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 占位符的预期大小相匹配。
谁能告诉我可能是什么问题?
谢谢!
最佳答案
要非常小心你的变量名!
我在循环中将占位符 x、y 替换为数组 x 和 y 以填充训练和测试补丁。
关于python - 类型错误 : unhashable type: 'numpy.ndarray' Tensorflow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43664985/