pytorch损失函数

L1 Loss(Mean Absolute Error,MAE)
pytorch代码:

torch.nn.L1Loss()

L2 Loss(Mean Squared Error,MSE)
pytorch代码:

torch.nn.MSELoss()

L1Loss和MSELoss的参数:
旧版的函数有reduce、size_average两个参数,新版的只有一个reduction参数了,功能是一样的。
reduction的意思是维度要不要缩减,以及怎么缩减,有三个选项:

交叉熵损失

loss = torch.nn.CrossEntropyLoss()
l = loss(y_hat, y)

这里的y_hat是一个向量,测试时可以得到独热码,而标签为一个数。y_hat并没有经过softmax,而是在计算损失的同时进行softmax。
RuntimeError: bool value of Tensor with more than one value is ambiguous

nn.CrossEntropyLoss() 是一个类,应该先行进行实例化。写代码时候粗心会导致这个错误,但是又不容易察觉出来。


版权声明:本文为weixin_43559672原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。