Advertisement

PyTorch Loss Functions 的总结

阅读量:

首先我们探讨nn与nn.functional之间的差异主要体现在其功能架构上 nn.functional.xxx充当函数接口角色 而nn.Xxx类则是基于nn.functional.xxx进行封装设计 这种封装设计使得nn.Xxx类不仅具备核心功能外 内置了模块化组件如train() eval() load_state_dict等重要方法 以满足更复杂的模型管理和训练需求

其中某个函数可以直接访问。
nn.functional.NLLLoss(nn.functional.log_softmax(data),target)
对应的变量在初始化后,在后续操作中进行赋值。

复制代码
    loss = nn.NLLLoss()
    conv = nn.Conv2d(16, C, (3, 3))
    m = nn.LogSoftmax(dim=1)
    #下面再赋值
    output = loss(m(conv(data)), target)

参考:https://zhuanlan.zhihu.com/p/61379965

多分类损失函数

在多分类任务中,使用最多的损失函数通常是nn.NLLLOSS和nn.CrossEntropyLoss两者之间存在密切的关系具体来说

nn.NLLLoss

在最后一层之后应用了LogSoft

全部评论 (0)

还没有任何评论哟~