交叉熵损失函数的使用

news2024/11/16 1:39:29

交叉熵损失函数

交叉熵损失函数(Cross-Entropy Loss),也称为对数损失(Log Loss),是机器学习和深度学习中常用的损失函数之一,尤其在分类问题中。它衡量的是模型预测的概率分布与真实标签的概率分布之间的差异。

为什么要写一期交叉熵损失函数,是因为在基于pytorch本地部署微调bert模型(yelp文本分类数据集)-CSDN博客这个项目的coding过程中,错误的使用了pytorch的CrossEntropyLoss这个函数,在一周多的时间内自我怀疑Bert的微调是否能够成功,最后发现是损失函数使用错误的问题


计算公式

L=\sum_{i}^{n} (y(i)\times log(P(i)))

代码实现

import torch
import torch.nn as nn

# 假设模型输出的logits
logits = torch.tensor([[2.0, 1.0, 0.5]])  # 形状为 [1, 3]
# 真实标签,类别为2
labels = torch.tensor([2])  # 形状为 [1]

# 定义损失函数
criterion = nn.CrossEntropyLoss()

# 计算损失
loss = criterion(logits, labels)

print(loss.item())  # 输出损失值

千万注意,函数中的两个参数是不同的维度,label会在函数内部自行进行one-hot编码,而logits(一般认为是模型的输出值)是一维的向量,每一个批次输出分类数量的向量表示,所以对于logits是不需要进行处理的!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2159230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

写作文的AI,不妨试试这些工具

写作文的AI,随着人工智能技术的迅猛发展,AI写作软件已经成为许多作家、学生和内容创作者的得力助手。这些软件不仅能帮助用户生成高质量的文章,还能提供创意灵感、语法校正和内容优化等多重功能。下面,本文将介绍五款各具特色的AI…

s3c2440——UART串口通信

一、通信方式 1、并行通信:一次可收发2bit/2bit以上。通信效率高;但对SOC硬件资源占用率太高。 串行通信:一次通信传递1bit。降低对硬件占用率;但通信速率低。 2、单工通信:只能A发送,B接收。 半双工通信…

D. Minimize the Difference (Codeforces Round 973 Div. 2)

D. Minimize the Difference 思路: 发现操作是单向的从左往右取高补低,最终目标是尽可能趋于平均,使最大值最小和使最小值最大。可以用二分答案法分别找到两个最值,然后做差即可。 关于这种算法的正确性没有做严格的证明&#x…

国庆节适合买什么东西?精选五款实用又优惠的多功能好物!

临近国庆,我猜很多朋友已经开始为假期做好准备,计划开启出游和购物的节奏了!大家都希望在国庆期间,买到一些平时因为价格太贵而舍不得下单的好物!作为一名家居兼数码博主,每年国庆的时候我都会疯狂采购各种…

那年我双手插兜,使用IPv6+DDNS动态域名解析访问NAS

估计有很多科技宅和我一样,会买一个NAS存储或者自己折腾刷一下黑群晖玩玩,由于运营商不给分配固定的公网IP,就导致我在外出的时候无法访问家里的NAS,于是远程访问常常受到IP地址频繁变动的困扰。为了解决这一问题,结合…

对FPGA加载过程中不同寄存器初始化方式现象的分析

对FPGA加载过程中不同寄存器初始化方式现象的分析 概述目的术语和缩略语参考资料 相关原理分析MMCM时钟锁定分析声明信号时进行初始化RTL测试代码示波器现象 同步复位/置位初始化RTL测试代码示波器现象 异步复位/置位初始化RTL测试代码示波器现象 不进行任何初始化操作&#xf…

JSP 指令标识和脚本标识的使用

文章目录 前言一、JSP 页面是什么?二、JSP 基本语法 1.指令标识 (1)page 指令(2)include 指令(3)taglib 指令2.脚本标识总结 前言 在进行Java Web 应用开发的过程中,JSP 是必不可少的…

9.19工作笔记

怎么做多空对冲 脚本2 read_coin选币单币涨跌幅计算单币资金曲线单币资金曲线均值得到周期总体资金曲线周期总体资金曲线得到周期总体涨跌幅周期总体涨跌幅计算得到总体资金曲线 脚本2怎么实现多空对冲的 首先读取factors和periods中的文件,然后read_coin得到结…

Proteus-7.8sp2安装

一、D盘新建空文件夹,名为Proteus。 二、安装软件 1.双击P7.8sp2.exe 2.next 三、破解 1.双击 Proteus Pro 7.8 SP2破解 1.0.exe 2. 升级 打开软件 四、汉化 1.将如下两个文件复制到 D:\Proteus\BIN 路径中 重新打开软件,汉化成功

【在.net6和WPF框架下进行海康SDK开发】(一)如何引用Dll

最近有个上位机项目,需要将海康VisionMaster的部分功能嵌入到统一的界面。项目使用WPFdotNet6开发,UI库使用HandyControl。 先说下需求,在某个TabItem内嵌入一个UserControl,UserContr内嵌入VisionMaster运行界面。 本以为按照海康…

10年计算机考研408-计算机网络

【题33】下列选项中,不属于网络体系结构所描述的内容是() A.网络的层次 B.每一层使用的协议 C.协议的内部实现细节 D.每一层必须完成的功能 解析: 本题考查的是网络体系结构相关的概念。 图1描述了网络的7层架构以及每一层所要完成…

智能新突破:AIOT 边缘计算网关让老旧水电表图像识别

数字化高速发展的时代,AIOT(人工智能物联网)技术正以惊人的速度改变着我们的生活和工作方式。而其中,AIOT 边缘计算网关凭借其强大的功能,成为了推动物联网发展的关键力量。 这款边缘计算网关拥有令人瞩目的 1T POS 算…

某文书网爬虫逆向

一、抓包分析 请求参数和响应数据都有加密 二、逆向分析 老方法、下xhr断点 加密实现逻辑都在这个方法里 执行到这的时候,在向下跟栈数据就已经渲染出来了,说明是在这个方法里进行的解密 解密方法,data.result为加密数据,data.s…

Plant Disease Expert:植物病害数据集(猫脸码客 第197期)

Plant Disease Expert 数据集详细介绍 一、引言 在农业生产的广阔领域中,植物病害始终是一个不可忽视的挑战。它不仅直接威胁到作物的健康生长,还可能导致严重的产量下降,进而影响全球粮食安全和农业经济稳定。据权威机构估计,全…

18 基于51单片机的心率体温监测报警系统(包括程序、仿真、原理图、流程图)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机 ds18B20读取温度, 设置初始心率65 设置温度阈值38 心率阈值60 100 如果超过阈值,蜂鸣器报警,led灯亮 二、硬件资源 基于KEIL5编写C代码&#xf…

栈的操作:进栈,出栈,读栈顶元素

代码&#xff1a; #include<iostream> using namespace std; template<class T> class sq_Stack {private:int mm;int top;T *s;public:sq_Stack(int);void prt_sq_Stack();int flag_sq_Stack();void ins_sq_Stack(T);T del_sq_Stack();T read_sq_Stack(); }; tem…

高等代数笔记(2)————(弱/强)数学归纳法

数学归纳法的引入情景其实很简单&#xff0c;就是多米诺骨牌。 推倒所有多米诺骨牌的关键就是推倒第一块&#xff0c;以及确保第一块倒下后会带动第二块&#xff0c;第二块带动第三块&#xff0c;以此类推&#xff0c;也就是可以递推。由此我们可以归纳出所有的多米诺骨牌都可…

开箱元宇宙| 探索 Great Entertainment Group 如何利用 Web3 和数字创新重新定义活动体验

有没有想过 Web3 等尖端技术是如何改变娱乐行业的&#xff1f;在本期「开箱元宇宙」系列中&#xff0c;我们与 Great Entertainment Group (GEG) 的 Web3 顾问 Rob Lacey 深度访谈&#xff0c;探讨这家充满活力的公司如何在其活动中开拓数字创新。 与我们一起揭示 GEG 如何将 …

力扣 LCR 020 回文子串 -Python

题目链接&#xff1a;LCR 020. 回文子串 - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 给定一个字符串 s &#xff0c;请计算这个字符串中有多少个回文子字符串。 具有不同开始位置或结束位置的子串&#xff0c;即使是由相同的字符组成&#xff0c;也会被视…

python全栈学习记录(十七)logging、json与pickle、time与datatime、random

logging、json与pickle、time与datatime、random 文章目录 logging、json与pickle、time与datatime、random一、logging二.json与pickle三.time与datatime四.random 一、logging logging模块用来记录日志信息。 import logging # 进行基本的日志配置 logging.basicConfig( fi…