Python 3.x 张量流训练模型预测总是零
我有一个简单的TensorFlow模型,精度为1。但是当我试图预测一些新的输入时,它总是返回零(0) 所有函数都正常工作,我的问题是最新的代码行。我只尝试了“y_u3;”而不是“tf.argmax(y_3;,1)”,但也没有成功。 我怎样才能解决这个问题?Python 3.x 张量流训练模型预测总是零,python-3.x,tensorflow,neural-network,Python 3.x,Tensorflow,Neural Network,我有一个简单的TensorFlow模型,精度为1。但是当我试图预测一些新的输入时,它总是返回零(0) 所有函数都正常工作,我的问题是最新的代码行。我只尝试了“y_u3;”而不是“tf.argmax(y_3;,1)”,但也没有成功。 我怎样才能解决这个问题? 请注意,您的代码中存在多个错误 从以下代码行开始: correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1)) accuracy = tf.reduce_mean(tf.c
请注意,您的代码中存在多个错误 从以下代码行开始:
correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print(sess.run(accuracy, feed_dict={x: inputs, y: labels})) # print accuracy
您正在执行线性回归
,但您正在使用逻辑回归
方法检查准确性。如果您想查看线性回归网络的运行情况,请打印损失
。确保你的损失在每次训练后都会减少
如果查看该精度代码,请运行以下代码:
print(y_.get_shape()) # Outputs (?, 1)
print(sess.run(y_, feed_dict={x: inp}))
只有一个输入,您的函数tf.argmax(y,1)
和tf.argmax(y,1)
将始终返回[0,0,…]
。因此,您的精度将始终为1.0。删除这三行代码
接下来,要获得输出,只需运行以下代码:
print(y_.get_shape()) # Outputs (?, 1)
print(sess.run(y_, feed_dict={x: inp}))
但由于您的数据是随机的,所以不要期望有一组好的输出