tf中用于计算交叉熵的主要是下面两个函数:

tf.nn.softmax_cross_entropy_with_logits(
    _sentinel=None,
    labels=None,
    logits=None,
    dim=-1,
    name=None
)
tf.nn.sparse_softmax_cross_entropy_with_logits(
    _sentinel=None,
    labels=None,
    logits=None,
    name=None
)

不过在tensorflow的官方说明中tf.nn.softmax_cross_entropy_with_logits已经被遗弃,建议不再使用,取而代之的是tf.nn.sparse_softmax_cross_entropy_with_logits。但既然是学习,就讲两者放到一起说吧。他们之间主要的区别就是输入参数labels的不同。tf.nn.softmax_cross_entropy_with_logits中labels的元素是非稀疏表示,而tf.nn.softmax_cross_entropy_with_logits中labels中的元素要用稀疏表示。什么意思?假设样本的总的分类数为5,某个样本i为第3类,那么i稀疏表示就是2(分类从0开始),非稀疏表示就是[0, 0, 1, 0, 0],说到底就是分类为5的one-hot编码。
tensorflow中交叉熵的计算

相关文章:

  • 2018-07-26
  • 2018-07-27
  • 2021-06-24
  • 2021-11-28
  • 2021-10-06
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-27
  • 2022-12-23
  • 2021-01-28
  • 2021-11-04
相关资源
相似解决方案