当前位置: 首页 > article >正文

如何理解BCEWithLogitsLoss()

1.示例1 

logit=[0.5 -1.0 2.0]
targets=[1 0 1]

# δ=sigmoid(x)
p=δ(logits)=[δ(0.5) δ(-1.0) δ(2.0)]=[0.6225 0.2689 0.8808]

loss1 = -[1 · log(0.6225) + 0 · log(1 - 0.6225)] ≈ 0.4744
loss2 = -[0 · log(0.2689) + 1 · log(1 - 0.2689)] ≈ 0.3133
loss3 = -[1 · log(0.8808) + 0 · log(1 - 0.8808)] ≈ 0.1269

total_loss = loss1 + loss2 + loss3 ≈ 0.4744 + 0.3133 + 0.1269 = 0.9143

2.分布计算演示 

import torch

logits = torch.tensor([[0.5], [-1.0], [2.0]], dtype=torch.float32)
targets = torch.tensor([[1.0], [0.0], [1.0]], dtype=torch.float32)

probs = torch.sigmoid(logits)

# Use the formula: - [ y * log(p) + (1 - y) * log(1 - p) ]
loss_per_sample = - (targets * torch.log(probs) + (1 - targets) * torch.log(1 - probs))

total_loss = torch.sum(loss_per_sample)

print(total_loss.item())
# 0.9142667055130005

3.BCEWithLogitsLoss实现 

import torch
import torch.nn as nn

# Define logits and targets
logits = torch.tensor([[0.5], [-1.0], [2.0]], dtype=torch.float32)
targets = torch.tensor([[1.0], [0.0], [1.0]], dtype=torch.float32)

# Define the loss function
loss_fn = nn.BCEWithLogitsLoss(reduction='sum')

# Compute the loss
loss = loss_fn(logits, targets)
print(loss.item())
# 0.9142667055130005


http://www.kler.cn/a/309420.html

相关文章:

  • 内置RTK北斗高精度定位的4G执法记录仪、国网供电服务器记录仪
  • Django 的 ModelViewSet 中的 get_queryset 方法自定义查询集
  • LLMs之MindFormers:基于国产硬件华为Atlas针对GLM-4-9B实现模型全参微调(单机8卡)→模型推理(单卡多batch推理)
  • Sql server 备份还原方法
  • 大数据技术在金融风控中的应用
  • 域名服务系统DNS (Domain Name System)
  • 什么是期权日内交易?怎么做日内期权策略?
  • MyBatis 源码解析:Mapper 文件加载与解析
  • 导弹追踪问题:蒙特卡罗模拟+matlab代码
  • Linux7-su,exit,sudo
  • Java 中的 sleep、wait、join 怎么理解
  • linux中的kill、pkill和killall
  • C++速通LeetCode简单第3题-相交链表
  • RTMP协议在无人机巡检中的应用场景
  • 【深度学习】【OnnxRuntime】【Python】模型转化、环境搭建以及模型部署的详细教程
  • Java学习线路(2024版)
  • 简单了解微服务--黑马(在更)
  • 安全运维教程(非常详细)从零基础入门到精通,看完这一篇就够了
  • 【Pycharm使用技巧记录手册】批量检索与替换功能——辅助Yolo训练标签label配置文件构建
  • Mac笔记本上查看/user/目录下的文件的几种方法
  • mysql配置优化和分组报错问题解决
  • 信号与线性系统综合实验
  • 87-java 可轮询锁和定时锁
  • 网络安全宣传周的时间,举办活动的方式和意义
  • 计算机毕业设计公交站点线路查询网站登录注册搜索站点线路车次/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序
  • 场外个股期权通道商是什么业务?个人投资者可以参与场外期权吗?