【问题标题】:TypeError: unhashable type: 'numpy.ndarray' TensorflowTypeError: unhashable type: 'numpy.ndarray' Tensorflow
【发布时间】:2017-04-28 03:17:27
【问题描述】:

我正在修改 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)

我填写了我的批次,然后将它们传递给会话。

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 占位符的预期大小相匹配。

谁能告诉我可能是什么问题?

谢谢!

【问题讨论】:

  • 您拥有的xy 与您从getData 获得的xy 相同,而不是tf.placeholder(…)
  • 谢谢!我才意识到是这样的;它取代了占位符。现在我有一个不同的错误要处理,但我更了解那个错误。

标签: python tensorflow


【解决方案1】:

小心你的变量名!

我在循环中将占位符 x、y 替换为数组 x 和 y,以填充我的训练和测试补丁。

【讨论】:

  • 你是救生员。谢谢。
猜你喜欢
  • 1970-01-01
  • 2021-08-31
  • 1970-01-01
  • 2019-07-10
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多