Tensorflow基本泰坦尼克号示例:精度卡滞

Tensorflow基本泰坦尼克号示例:精度卡滞,tensorflow,Tensorflow,我在努力学习tensorflow。我决定在tensorflow中实施臭名昭著的kaggle titanic挑战,而不使用tf.layers、tf.train或keras。我使用的可能是一个滑稽的超大网络。我的问题是,我似乎无法得到正确的计算精度 在我的示例中,Y是最后一层(宽度1)的输出。Y_u是该培训示例的标签。所以,当我计算精度时,我计算为: Y_int = tf.cast(Y_, tf.int64) is_correct = tf.equal(tf.argmax(Y,1),Y_int)

我在努力学习tensorflow。我决定在tensorflow中实施臭名昭著的kaggle titanic挑战,而不使用tf.layers、tf.train或keras。我使用的可能是一个滑稽的超大网络。我的问题是,我似乎无法得到正确的计算精度

在我的示例中,Y是最后一层(宽度1)的输出。Y_u是该培训示例的标签。所以,当我计算精度时,我计算为:

Y_int = tf.cast(Y_, tf.int64)
is_correct = tf.equal(tf.argmax(Y,1),Y_int)

accuracy = tf.reduce_mean(tf.cast(is_correct,tf.float32))
我每500次迭代运行一次: a、 c=测试运行([精度,xe],进给量=测试数据)

交叉熵“很好地”减少了——有很多改进的空间,但它确实会一次又一次地改变迭代。但是,精确性一直是个难题(这是第一个值):

国际热核实验堆:0

0.606742 72.3839

国际热核实验堆:500

0.606742 42.3199

国际热核实验堆:1000

国际热核实验堆:18500

0.606742 38.2022

国际热核实验堆:19000

0.606742 38.4258

国际热核实验堆:19500

0.606742 37.9204

编辑:完整的python文件:

好的,多亏了天津的提示,我终于明白了。我在检查Y和Y的相等性之前四舍五入:

Y_int = tf.cast(Y, tf.float32)
is_correct = tf.equal(tf.round(Y_int),Y_)

你能给出一个国际热核实验堆Y和Y的实际值吗?给你:0.651685 32.1792 Y:[-9.14530421e-04][1.29497278e+00][9.14530421e-04][1.02632809e+00][3.94688576e-01][9.22473788e-01][9.14530421e 04][9.14530421e 4][1.29656982e+00][1.06453359e+00][1][1][1][1]