小编dch*_*kov的帖子

Tensorflow 和 Scikitlearn log_loss 函数实现的区别

嗨,我正在尝试进入 tensorflow,但感觉有点傻。TF 中的 log_loss 与 sklearn 的不同吗?

这是我的代码中的一些行,我是如何计算的:

from sklearn.metrics import log_loss

tmp = np.array(y_test)
y_test_t = np.array([tmp, -(tmp-1)]).T[0]

tf_log_loss = tf.losses.log_loss(predictions=tf.nn.softmax(logits), labels=tf_y)

with tf.Session() as sess:

    # training

    a = sess.run(tf.nn.softmax(logits), feed_dict={tf_x: xtest, keep_prob: 1.})
    print("    sk.log_loss: ", log_loss(y_test, a,eps=1e-7 ))
    print("    tf.log_loss: ", sess.run(tf_log_loss, feed_dict={tf_x: xtest, tf_y: y_test_t, keep_prob: 1.}))
Run Code Online (Sandbox Code Playgroud)

我得到的输出

Epoch  7, Loss:     0.4875 Validation Accuracy: 0.818981
    sk.log_loss:  1.76533018874
    tf.log_loss:  0.396557
Epoch  8, Loss:     0.4850 Validation Accuracy: 0.820738
    sk.log_loss:  1.77217639627
    tf.log_loss:  0.393351
Epoch  9, Loss:     0.4835 Validation …
Run Code Online (Sandbox Code Playgroud)

machine-learning loss scikit-learn tensorflow

5
推荐指数
1
解决办法
1298
查看次数

标签 统计

loss ×1

machine-learning ×1

scikit-learn ×1

tensorflow ×1