关于transformers库验证时不进入compute_metrics方法的一些坑
生成式任务输入就是标签
transformers在进入compute_metrics前会有一个判断,源码如下:
# 版本 transformers==4.41.2
# 在trainer.py 的 3842 行
# Metrics!
if (self.compute_metrics is not Noneand all_preds is not Noneand all_labels is not Noneand not self.args.batch_eval_metrics
):if args.include_inputs_for_metrics:metrics = self.compute_metrics(EvalPrediction(predictions=all_preds, label_ids=all_labels, inputs=all_inputs))else:metrics = self.compute_metrics(EvalPrediction(predictions=all_preds, label_ids=all_labels))
elif metrics is None:metrics = {}
生成式任务如果没有标签字段,即labels那么这里的all_labels is not None就会是false,从而无法进入compute_metrics方法。
此时可以在TrainingArguments中加入一个变量label_names把输入文本作为标签,如下:
training_args = TrainingArguments(
...
label_names=['input_ids'], # 这里假设我的文本输入叫 ‘input_ids’
...
)
这样就可以进入compute_metrics函数了。
此外,若需要将输入的变量传入compute_metrics,可以在TrainingArguments中设置include_inputs_for_metrics=True
相关文章:
关于transformers库验证时不进入compute_metrics方法的一些坑
生成式任务输入就是标签 transformers在进入compute_metrics前会有一个判断,源码如下: # 版本 transformers4.41.2 # 在trainer.py 的 3842 行 # Metrics! if (self.compute_metrics is not Noneand all_preds is not Noneand all_labels is not Nonea…...
苹果提出RLAIF:轻量级语言模型编写代码
获取本文论文原文PDF,请在公众号【AI论文解读】留言:论文解读 代码生成一直是一个充满挑战的领域。随着大型语言模型(LLM)的出现,我们见证了在自然语言理解和生成方面的显著进步。然而,当涉及到代码生成&a…...
[leetcode] shortest-subarray-with-sum-at-least-k 和至少为 K 的最短子数组
. - 力扣(LeetCode) class Solution { public:int shortestSubarray(vector<int>& nums, int k) {int n nums.size();vector<long> preSumArr(n 1);for (int i 0; i < n; i) {preSumArr[i 1] preSumArr[i] nums[i];}int res n…...
专业140+总分420+天津大学815信号与系统考研经验天大电子信息与通信工程,真题,大纲,参考书。
顺利上岸天津大学,专业课815信号与系统140,总分420,总结一些自己的复习经历,希望对于报考天大的同学有些许帮助,少走弯路,顺利上岸。专业课: 815信号与系统:指定教材吴大正…...
前端如何取消接口调用
🧑💻 写在开头 点赞 收藏 学会🤣🤣🤣 1. xmlHttpRequest是如何取消请求的? 实例化的XMLHttpRequest对象上也有abort方法 const xhr new XMLHttpRequest(); xhr.addEventListener(load, function(e)…...
k8s 容器环境下的镜像如何转换为docker 使用
在无法连接registry 的环境中,想要把 crictl 中的镜像给docker 使用,应该怎么处理? 其实容器镜像是通用的,crictl 和ctr 以及docker 镜像是可以互相使用的,因为docker 在1.10版本之后遵从了OCI。所以crictl 环境下的镜…...
FreeRTOS 队列
队列是一种任务到任务、任务到中断、中断到任务数据交流的一种机制。在队列中可以存 储数量有限、大小固定的多个数据,队列中的每一个数据叫做队列项目,队列能够存储队列项 目的最大数量称为队列的长度,在创建队列的时候,就需要指…...
如何识别图片文字转化为文本?5个软件帮助你快速提取图片文字
如何识别图片文字转化为文本?5个软件帮助你快速提取图片文字 将图片中的文字提取为文本是一项非常有用的技能,特别是当你需要处理大量扫描文档、截图或其他图片时。以下是五款能够帮助你快速提取图片文字的软件: 迅捷文字识别 这是一款非…...
Flink SQL kafka连接器
版本说明 Flink和kafka的版本号有一定的匹配关系,操作成功的版本: Flink1.17.1kafka_2.12-3.3.1 添加kafka连接器依赖 将flink-sql-connector-kafka-1.17.1.jar上传到flink的lib目录下 下载flink-sql-connector-kafka连接器jar包 https://mvnreposi…...
glm-4 联网搜索 api 测试
今天测试了一下 glm-4 的联网搜索 web_search tool 调用,发现了 web_search 的网页检索返回结果中几个比较诡异的事情,特此记录: 有些检索结果没有 icon、link、media 字段,但从内容上看确实是联网搜索出来的结果,不知…...
Java毕业设计 基于SSM vue图书管理系统小程序 微信小程序
Java毕业设计 基于SSM vue图书管理系统小程序 微信小程序 SSM 图书管理系统小程序 功能介绍 用户 登录 注册 首页 图片轮播 图书信息推荐 图书详情 赞 踩 评论 收藏 系统公告 公告详情 用户信息修改 我的待还 图书归还 催还提醒 我的收藏管理 意见反馈 管理员 登录 个人中心…...
bert训练的一些技巧(rand() < self.skipgram_prb)
rand() < self.skip_gram_prb) 是一个条件表达式,用来判断是否进行skip-gram掩码操作。这种掩码操作通常用于自然语言处理中的数据增强,通过概率决定是否应用skip-gram掩码。下面是对这个表达式的详细解释: 解释 rand(): rand() 是一个随…...
pandas修改时间索引报错处理
import pandas as pd import numpy as np import osdfpd.DataFrame(index[a,b,c],data{序列:[1,2,3]}) df.rename(index{a:a1},inplaceTrue) print(df) print(df.index.dtype)df1pd.DataFrame(index[2024-01-01,2024-01-02,2024-01-03],data{序列:[1,2,3]}) df1.rename(index{2…...
Nginx Bla~Bla~
root 和 alias指令都用于指定服务器上的文件系统路径,但它们在用法和行为上有一些不同 root指令通常用于在Nginx配置中定义一个目录,该目录将作为请求的根目录。 server { location /static/ {root /var/www; 请求 /static/index.html 将映射到 /v…...
java awt和swing介绍
Java AWT(Abstract Window Toolkit)和 Swing 是用于创建图形用户界面(GUI)的 Java API。 AWT AWT 是 Java 最初的平台依赖的窗口图形界面工具包,它提供了一组基本的 GUI 组件、窗口管理、事件处理等。AWT 组件是重量…...
奇怪的错误记录
https://github.com/meta-llama/llama3/issues/80 读模型没问题,推理时出现: RuntimeError: “triu_tril_cuda_template” not implemented for ‘BFloat16’ ———————————————— 事发原因 我尝试了解transformers的AutoProcessor时&a…...
来啦,经典传说大变身牛郎织女后代逗趣日常
《落凡尘:星宿大冒险》来啦! 经典传说大变身,牛郎织女后代金风, 上演一出“星际小侦探”的逗趣日常! 想象一下,二十八星宿那些傲娇的星星们, 居然能“离家出走”,还差点把天给掀了…...
【uniapp-ios】App端与webview端相互通信的方法以及注意事项
前言 在开发中,使用uniapp开发的项目开发效率是极高的,使用一套代码就能够同时在多端上线,像笔者之前写过的使用Flutter端和webview端之间的相互通信方法和问题,这种方式本质上实际上是h5和h5之间的通信,网上有非常多…...
Qt常用基础控件总结—表格控件(QTableWidget类)
表格控件QTableWidget 表格控件最上面一排是只读的水平表头,最左边一列是只读的垂直表头。表头又可以细分为多个分段(section),水平表头的分段就是表格各个列的列首,垂直表头 分段就是表格各个行的行首。表格控件的实体区域是按行、列排布的单元格,单元格内容一般用 QTa…...
笔记:Entity Framework Core 数据库迁移add-migration
一、目的: 数据库迁移是一种管理数据库架构变化的技术,它允许开发者在应用程序的生命周期中安全地更新数据库架构,而不会丢失数据或破坏现有的数据库结构。在Entity Framework Core(EF Core)中,数据库迁移特…...
单片机驱动MOS管的原理与实战技巧
1. 单片机直接驱动MOS管的原理与风险MOS管作为现代电子设计中最常用的功率开关器件,其控制方式看似简单却暗藏玄机。作为一名经历过多次"炸管"教训的硬件工程师,我想分享一些关于单片机直接驱动MOS管的实战经验。MOS管分为NMOS和PMOS两种类型&…...
计算机毕业设计:Python汽车销量大数据预测平台 Flask框架 可视化 机器学习 AI 大模型 大数据(建议收藏)✅
博主介绍:✌全网粉丝50W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战8年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...
解锁论文写作新境界:书匠策AI——学术探索的智能导航灯
在学术的浩瀚海洋中,每一位研究者、学生乃至教育博主,都如同勇敢的航海家,驾驶着知识的船只,追寻着真理的彼岸。然而,论文写作这一航程中的关键环节,往往让许多人感到迷茫与挑战重重。今天,就让…...
Redis 内存淘汰与过期策略
引言Redis 作为内存数据库,内存资源有限,必须妥善处理内存占用问题。本文梳理两种核心机制:淘汰策略决定内存达到上限时如何移除数据,涵盖 noeviction、LRU、LFU 等多种算法及其实现细节;过期策略(惰性删除…...
2026年专业深度测评:超强增压花洒套装排名前五权威榜单
一、开篇:行业趋势与测评声明随着消费者对居家生活品质要求的精细化提升,以及高层住宅、老旧小区水压不稳问题的普遍存在,具备稳定出水与舒适沐浴体验的超强增压花洒套装已成为市场核心需求。为帮助消费者在众多产品中做出科学决策࿰…...
Linux 的 id 命令
id 是 Linux 系统中一个常用的命令行工具,用于显示用户和组的身份信息。 基本功能 id 命令可以显示当前用户或指定用户的以下信息: 用户 ID (UID)主组 ID (GID)所属的所有组 (Groups)用户名和组名(当与数字 ID 对应时) 常用命…...
【ASTM D4169】之穿梭机器人,仓储机器人,托盘四向穿梭机器人的包装运输安全验证守法
穿梭机器人(通常指托盘四向穿梭车、智能物流机器人)的包装验证,核心目标是确保其在经历长途运输、仓储周转、装卸搬运后,机械结构、电子元器件和功能性能保持完好。 穿梭机器人的包装验证体系相对复杂,因为它既是运输…...
Oracle数据库进程体系结构概述
Oracle数据库进程体系结构概述 Oracle属于多进程体系架构,它由多个后台进程组成,每个后台进程完成特定的维护任务,进程之间互相协助,最终共同完成数据库所需的维护任务。 本文讲述的内容: 1、进程类型 2、Oracle两种服…...
ChatGPT上车CarPlay:智能交互新突破与安全边界的平衡
ChatGPT集成CarPlay:行车途中的语音智能交互4月3日,OpenAI宣布ChatGPT正式获得苹果CarPlay系统的集成支持。这一更新让CarPlay用户能够在车载仪表盘界面直接通过语音与ChatGPT进行交互,实现了行车途中的免提提问与请求服务。该功能的实现得益…...
ai辅助开发新思路:让快马ai为你生成一个notepad++智能编程助手插件原型
今天想和大家分享一个有趣的AI辅助开发思路——如何用InsCode(快马)平台快速构建一个Notepad智能编程助手插件的原型。这个项目特别适合想体验AI与本地编辑器联动的开发者,整个过程不需要复杂的配置,直接在网页上就能完成原型验证。 插件功能设计 这个插…...
