Source code for cntk.contrib.deeprl.agent.shared.cntk_utils

# Copyright (c) Microsoft. All rights reserved.

# Licensed under the MIT license. See LICENSE.md file in the project root
# for full license information.
# ==============================================================================
"""Utility functions."""

import cntk.ops as C


[docs]def huber_loss(output, target): r"""See https://en.wikipedia.org/wiki/Huber_loss for definition. \delta is set to 1. This is not the right definition if output and target differ in more than one dimension. """ a = target - output return C.reduce_sum(C.element_select( C.less(C.abs(a), 1), C.square(a) * 0.5, C.abs(a) - 0.5))
[docs]def negative_of_entropy_with_softmax(p): """See https://en.wikipedia.org/wiki/Entropy_(information_theory).""" return C.reduce_sum(C.softmax(p) * p) - C.reduce_log_sum_exp(p)