尝试运行以下代码时出现错误:
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/