pytorch 区间loss 损失函数

我们知道sigmoid可以把值转化为0-1之间。

tanh函数可以把值转化到[-1,1]之间,

但是在回归时,希望梯度是均匀的,有么有别的方法呢?

答案是肯定的,

解决方法1:

data=torch.sin(data),这个跟SIGMOD效果差不多,

周期性函数,把值变到了[-1,1]之间。

周期性函数,把值变到了[0,1]之间,加了abs这个不收敛:

loss0 = bce_loss(torch.abs(torch.cos(out)), labels_v)

解决方法2:

比如要回归A,希望A在1到-1之间,可以设计损失函数:


import torchclass My_Loss3(torch.nn.Module):def __init__(self):super(My_Loss3, self).__init__()def forward(self, pred_angle0, label):l1 = torch.clamp(torch.abs(pred_angle0)-1, min=0)c1 = torch.abs(pred_angle0 - label)c2 =torch.abs(2 - c1)l3 = torch.where(c1 > c2, c2, c1)return torch.mean(0.1*l3 + l1)

希望

pytorch 区间loss 损失函数相关推荐

  1. pytorch自定义loss损失函数

    自定义loss的方法有很多,但是在博主查资料的时候发现有挺多写法会有问题,靠谱一点的方法是把loss作为一个pytorch的模块,比如: class CustomLoss(nn.Module): # ...

  2. Pytorch学习 - Task6 PyTorch常见的损失函数和优化器使用

    Pytorch学习 - Task6 PyTorch常见的损失函数和优化器使用 官方参考链接 1. 损失函数 (1)BCELoss 二分类 计算公式 小例子: (2) BCEWithLogitsLoss ...

  3. Keras框架下的loss损失函数

    在Keras框架中有如下几种loss损失函数: ①mean_squared_error或mse:均方误差是反映估计量与真实量之间差异程度的期望值,常被用于评价数据的变化程度,预测数据的精确度. ②me ...

  4. 神经网络训练解决loss、validation loss(损失函数)波动或不收敛问题

    神经网络训练解决loss.validation loss(损失函数)波动或不收敛问题 1.没有对数据进行预处理.数据分类标注是否准确?数据是否正确对应标签或者是否有错误数据? 2.将数据进行归一化.将 ...

  5. Focal Loss损失函数(超级详细的解读)

     什么是损失函数?        1.什么是损失呢? 在机器学习模型中,对于每一个样本的预测值与真实值的差称为损失. 2.什么是损失函数呢? 显而易见,是一个用来计算损失的函数.它是一个非负实值函数, ...

  6. Pytorch中的损失函数-CROSSENTROPY LOSS

    CLASS torch.nn.CrossEntropyLoss(weight=None, size_average=None, ignore_index=-100, reduce=None, redu ...

  7. Pytorch之loss(损失函数)

    损失函数也在torch.nn下,具体可以参考文档,也可以参考官网 先根据L1Loss举例 我个人感觉这里的描述还是到官网的文档找比较好,公式看的比文档清楚 import torch from torc ...

  8. python中dice常见问题_【Pytorch】 Dice系数与Dice Loss损失函数实现

    由于 Dice系数是图像分割中常用的指标,而在Pytoch中没有官方的实现,下面结合网上的教程进行详细实现. 先来看一个我在网上经常看到的一个版本. def diceCoeff(pred, gt, s ...

  9. pytorch如何定义损失函数_对比PyTorch和TensorFlow的自动差异和动态模型

    使用自定义模型类从头开始训练线性回归,比较PyTorch 1.x和TensorFlow 2.x之间的自动差异和动态模型子类化方法, 这篇简短的文章重点介绍如何在PyTorch 1.x和TensorFl ...

最新文章

  1. 使用Cacti监控你的网络Cacti的安装
  2. IDEA 中比较骚后缀补全技巧!你可能没用过
  3. VB中DateDiff 函数解释
  4. 单片机如何实现大数据的串口传输_获客成本日益增加,企业如何实现大数据精准获客?...
  5. 小白学习IOT之模拟设备RRPC命令下发
  6. getElementById() getElementsByName() getElementsByTagName()
  7. 怎么邀请人加入组队_糖豆人:终极淘汰赛怎么玩?玩法技巧介绍
  8. java 实现压缩zip的几种方案
  9. 通过拦截器获取控制类requestMapping注解中的属性值
  10. 九型人格在招聘中的应用策略
  11. java.util.LinkedHashMap cannot be cast to
  12. QQ空间扫码登录协议 Java
  13. 【飞思卡尔】飞思卡尔摄像头算法基本方法
  14. PS页面隐藏字段访问方法
  15. 解决google扩展程序已损坏的问题
  16. 博士申请 | 卡耐基梅隆大学陈贝迪老师课题组招收机器学习方向博士生
  17. Microsoft Project
  18. 【抓包】- Fiddle软件异常错误,Fiddler Failed to register Fiddler as the system proxy,解决方法
  19. 转载_进程、轻量级进程(LWP)、线程
  20. python读写、创建文件、文件夹

热门文章

  1. Linux Watchdog 机制
  2. golang 数组和切片
  3. C语言--const修饰指针解析
  4. scrapy 中不同页面的拼接_scrapy官方文档提供的常见使用问题
  5. 数据结构 图的广度优先遍历 C++
  6. 用链表c语言程序设计,C语言程序设计-基于链表的学生成绩管理系统
  7. Ubuntu常见命令记录
  8. ios开发判断字符串为空_【开发常识】这个问题,直接导致年终奖没了……(惨兮兮)...
  9. linux 给用户tmp权限,linux用户以及权限
  10. 群晖套件来源_群晖套件系列五:Moments的安装与使用