尝试运行以下代码时出现错误:

correct = tf.equal(tf.argmax(activation,1), tf.argmax(y,1))
accuracy = tf.reduce_mean(tf.cast(correct,'float'))
print ('Accuracy: ', sess.run(accuracy, feed_dict = {x: test_x, yL test_y})

实际错误是:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Expected dimension in the range [-1, 1), but got 1
     [[Node: ArgMax_1 = ArgMax[T=DT_FLOAT, Tidx=DT_INT32, output_type=DT_INT64, _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_Placeholder_1_0_1, ArgMax_1/dimension)]]

该代码使用 TensorFlow 中的逻辑回归运行简单的二元分类。

我一直在网上做一些研究,但无法真正找到令人满意的解决方案。

谢谢,

最佳答案

问题不在于准确性。错误清楚地表明问题出在 argmax 中。
请检查您的“激活”和“y”维度,如果它们中的任何一个是一维的,然后删除 argmax 的第二个操作数,它可能会解决您的问题。

关于python - 这个错误 InvalidArgumentError (see above for traceback) : Expected dimension in the range [-1, 1), but got 1 是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46715102/

10-12 23:42