def negative_log_likelihood(y_true, predicted_distributions):
    """Calculates the negative log likelihood of the predicted distribution
    ``predicted_distribution`` and the true label value ``y_true``
    # Arguments
        y_true: Numpy array of shape [num_samples, 1].
        predicted_distribution: TensorFlow probability distribution
    """
    log_likelihood = predicted_distributions.log_prob(y_true)
    return - log_likelihood