训练准确度显示0.0

时间:2018-03-24 17:53:02

标签: tensorflow

我的代码:

location.href="javascript:tellParent('lightboxClose();'); void 0";

当我跑步时:

def accuracy(pred_labels,true_labels):
    true_labels = tf.cast(tf.reshape(true_labels,[-1,1]),tf.float32)
    correct_pred = tf.equal(pred_labels,true_labels)
    accuracy = tf.reduce_mean(tf.cast(correct_pred,tf.float32))
    return accuracy

对于所有连续迭代,我的训练精度为0.0。 但不应该这样。 我无法理解,代码有什么问题。我在博客网站上看到了计算准确性的代码(仅限feed_images = tf.placeholder(tf.float32,shape=(None,96,96,3)) feed_labels = tf.placeholder(tf.float32,shape=(None,)) logits = nn_model(feed_images) cost = loss(logits,feed_labels) opt_adam = optimizer(cost) acc = accuracy(logits,feed_labels) feed_trdict={feed_images:ni,feed_labels:nl} tr_acc = sess.run(acc,feed_dict = feed_trdict) 功能代码)

1 个答案:

答案 0 :(得分:2)

原因是(可能)pred_labels logits。尝试一些事情

correct = tf.cast(tf.nn.in_top_k(logits, true_labels, 1), tf.float32, name='correct')
accuracy = tf.reduce_mean(correct, name='accuracy')

可能有帮助。

我不明白,为什么问题不包含MWE 某些示例数据来重现此效果。否则,我们所能做的只是使用水晶球来猜测造成这种影响的原因。