Python 交叉熵损失函数

Python 交叉熵损失函数,python,machine-learning,deep-learning,perceptron,cross-entropy,Python,Machine Learning,Deep Learning,Perceptron,Cross Entropy,我试图在多层感知器中制作一个交叉熵损失函数,而不使用通常的代码。 我已经成功地编码了ReLU激活函数、一个热编码函数和一个softmax激活函数。我在编码交叉熵损失函数时遇到问题。代码如下: def cross_entropy_loss_func(final_outputs, expected_outputs): # p = final_outputs # y = expected_outputs = one_hot_encoding(label) loss = 0 num =

我试图在多层感知器中制作一个交叉熵损失函数,而不使用通常的代码。 我已经成功地编码了ReLU激活函数、一个热编码函数和一个softmax激活函数。我在编码交叉熵损失函数时遇到问题。代码如下:

def cross_entropy_loss_func(final_outputs, expected_outputs):
# p = final_outputs
# y = expected_outputs = one_hot_encoding(label)

    loss = 0
    num = 0
    p = final_outputs
    y = expected_outputs
    for idx, val in enumerate(p):
        for i, j in enumerate(y):
            num += (j*np.log(val))
    loss = -num
    return loss

所以我的最终输出是一个大小为32x10的张量,我的预测输出也是一个大小为32x10的张量。我不太明白这里出了什么问题。有什么帮助吗?

我们的工作不是猜测出什么问题。展示你的期望,你得到了什么,为什么会让你感到惊讶。此外,出于调试目的,请将批处理大小减少到1或最多2。您可以参考此