tf-keras-skeleton.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:LIE 作者: EmbraceLife 项目源码 文件源码
def categorical_crossentropy(output, target, from_logits=False):
      """Categorical crossentropy between an output tensor and a target tensor.

      Arguments:
          output: A tensor resulting from a softmax
              (unless `from_logits` is True, in which
              case `output` is expected to be the logits).
          target: A tensor of the same shape as `output`.
          from_logits: Boolean, whether `output` is the
              result of a softmax, or is a tensor of logits.

      Returns:
          Output tensor.
      """
      # Note: nn.softmax_cross_entropy_with_logits
      # expects logits, Keras expects probabilities.
      if not from_logits:
        # scale preds so that the class probas of each sample sum to 1
        output /= math_ops.reduce_sum(
            output, reduction_indices=len(output.get_shape()) - 1, keep_dims=True)
        # manual computation of crossentropy
        epsilon = _to_tensor(_EPSILON, output.dtype.base_dtype)
        output = clip_ops.clip_by_value(output, epsilon, 1. - epsilon)
        return -math_ops.reduce_sum(
            target * math_ops.log(output),
            reduction_indices=len(output.get_shape()) - 1)
      else:
        return nn.softmax_cross_entropy_with_logits(labels=target, logits=output)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号