MultiLabelSoftMarginLoss

不知道pytorch为什么起这个名字,看loss计算公式,并没有涉及到margin,有可能后面会实现。按照我的理解其实就是多标签交叉熵损失函数,验证之后也和BCEWithLogitsLoss的结果输出一致,使用的torch版本为1.5.0

例子:

import torch
import torch.nn.functional as F
import torch.nn as nn
import mathdef validate_MultiLabelSoftMarginLoss(input, target):val = 0for li_x, li_y in zip(input, target):for x, y in zip(li_x, li_y):norm_x = torch.sigmoid(x)loss_val = y * math.log(norm_x, math.e) + (1 - y) * math.log(1 - norm_x, math.e)val += -loss_valreturn val / input.nelement()loss = nn.MultiLabelSoftMarginLoss()
x = torch.FloatTensor([[0.1, 0.2, 0.4, 0.8]])
print(x.size())
y = torch.FloatTensor([[3, 0, -1, 1]])
print(y.size())
loss_val = loss(x, y)
print(loss_val.item())validate_loss = validate_MultiLabelSoftMarginLoss(x, y)
print(validate_loss.item())loss = torch.nn.BCEWithLogitsLoss()
ouput = torch.sigmoid(x)
loss_val = loss(x, y)
print(loss_val.item())

输出结果:

torch.Size([1, 4])
torch.Size([1, 4])
0.7316628694534302
0.7316628694534302
0.7316628694534302

loss函数之MultiLabelSoftMarginLoss相关推荐

  1. 【Dual-Path-RNN-Pytorch源码分析】loss函数:SI-SNR

    DPRNN使用的loss函数是 SI-SNR SI-SNR 是scale-invariant source-to-noise ratio的缩写,中文翻译为尺度不变的信噪比,意思是不受信号变化影响的信噪 ...

  2. tensorflow学习(4.loss函数以及正则化的使用 )

    本文还是以MNIST的CNN分析为例 loss函数一般有MSE均方差函数.交叉熵损失函数,说明见 https://blog.csdn.net/John_xyz/article/details/6121 ...

  3. 多分类loss函数本质理解

    一.面对一个多分类问题,如何设计合理的损失函数呢? 1.损失函数的本质在数学上称为目标函数:这个目标函数的目标值符合最完美的需求:损失函数的目标值肯定是0,完美分类的损失必然为0 : 2.损失函数分为 ...

  4. 深度学习基础(三)loss函数

    loss函数,即损失函数,是决定网络学习质量的关键.若网络结构不变的前提下,损失函数选择不当会导致模型精度差等后果.若有错误,敬请指正,Thank you! 目录 一.loss函数定义 二.常见的lo ...

  5. Keras自定义Loss函数

    Keras作为一个深度学习库,非常适合新手.在做神经网络时,它自带了许多常用的目标函数,优化方法等等,基本能满足新手学习时的一些需求.具体包含目标函数和优化方法.但它也支持用户自定义目标函数,下边介绍 ...

  6. 商汤使用AutoML设计Loss函数,全面超越人工设计

    点击我爱计算机视觉标星,更快获取CVML新技术 深度学习领域,神经架构搜索得到的算法如雨后春笋般出现. 今天一篇arXiv论文<AM-LFS: AutoML for Loss Function ...

  7. 深度学习中的损失函数总结以及Center Loss函数笔记

    北京 上海巡回站 | NVIDIA DLI深度学习培训 2018年1月26/1月12日 NVIDIA 深度学习学院 带你快速进入火热的DL领域 阅读全文                        ...

  8. 'int' object has no attribute 'backward'报错 使用Pytorch编写 Hinge loss函数

    在编写SVM中的Hinge loss函数的时候报错"'int' object has no attribute 'backward'" for epoch in range(50) ...

  9. 《深度学习笔记》——loss函数的学习笔记

    1 loss的作用 在南溪看来,loss函数是对目标target和预测prediction之间的一种距离度量的公式: 2 loss函数的设计原则 此设计原则参考了距离的定义,(注意:距离跟范数是两个概 ...

最新文章

  1. JVM GC 日志详解
  2. maven的pom报plugins错误的解决方法.
  3. 完整的一次 HTTP 请求响应过程(二)
  4. 【已解决】Linux redhat 6.4上安装VNC Server
  5. linux 命令大全_干货分享:Linux命令大全
  6. 主机甲和主机乙之间已建立一个TCP连接,TCP最大段长为1000B。若主机甲的当前拥塞窗口为4000B,在主机甲向主机乙连续发送两个最大段后,成功收到主机乙发送的第一个段的确认段,确认段中通告的接收窗
  7. 腾讯云服务器的环境配置与使用
  8. 28. 字符串的排列(C++版本)
  9. matlab与comsol的连接
  10. maplibre显示经纬线,(动态若干条)
  11. 股票爬取接口如何获取股票实时行情数据?
  12. RationalDMIS 2020高级教程之变量写入EXCEL
  13. java图片压缩、图片缩放
  14. 【大数据 BI】传统BI流程
  15. Java项目如何优雅的对接口入参进行校验-看法外狂徒张三浏览18网站失败
  16. 十年前的知识产权战争 | 历史上的今天
  17. allegro 倒圆角
  18. 数字化孪生管理平台运用现状及技术前景
  19. python 声音基频f0_ASR中常用的语音特征之FBank和MFCC(原理 + Python实现)
  20. 最近搞的AGV调度控制中心

热门文章

  1. 拿什么拯救你,程序新丁?
  2. MFC:VS拖拽多个文件到控件并获取路径
  3. Zygo保存zxg(Zemax File)文件(光学领域知道Zygo的一定要看)
  4. php的前端环境,PHP中的环境变量
  5. java将中国标准模式转换成yyyy-mm-nn_java-IO
  6. 合肥一六八2021高考成绩查询,合肥高考成绩查询入口
  7. django启动服务器失败-已解决
  8. git21天打卡day21-解决合并冲突
  9. 超级干货!服务端性能瓶颈定位思路总结
  10. 技术水平低,就这还敢写自动化项目实战经验丰富?