HuggingFace项目实战之填空任务实战

目录:

    • 一、使用场景
    • 二、代码分析

一、使用场景

大模型在填空任务中的应用主要涉及自动补全、内容生成和知识推理等场景,其核心能力在于基于上下文预测缺失信息。

二、代码分析

importtorchfromtransformersimportAutoTokenizer#加载tokenizertokenizer=AutoTokenizer.from_pretrained('google-bert/bert-base-chinese')tokenizer

fromdatasetsimportload_dataset#加载数据集dataset=load_dataset(path='lansinuote/ChnSentiCorp')#编码f=lambdax:tokenizer(x['text'],truncation=True,max_length=30,return_token_type_ids=False)dataset=dataset.map(f,remove_columns=['text','label'])#过滤句子长度f=lambdax:len(x['input_ids'])>=30dataset=dataset.filter(f)#重置label字段deff(data):#定义第15个字为labeldata['label']=data['input_ids'][15]#替换句子中的第15个字为maskdata['input_ids'][15]=tokenizer.mask_token_idreturndata dataset=dataset.map(f)#设置数据类型dataset.set_format('pt')dataset,dataset['train'][0]

loader=torch.utils.data.DataLoader(dataset['train'],batch_size=8,shuffle=True,drop_last=True)data=next(iter(loader))fork,vindata.items():print(k,v.shape)len(loader)

#查看数据样例forq,ainzip(data['input_ids'],data['label']):print(tokenizer.decode(q))print(tokenizer.decode(a))print('==============')

#定义模型classModel(torch.nn.Module):def__init__(self):super().__init__()#加载预训练模型fromtransformersimportAutoModel self.pretrained=AutoModel.from_pretrained('google-bert/bert-base-chinese')self.fc=torch.nn.Linear(in_features=768,out_features=tokenizer.vocab_size)defforward(self,input_ids,attention_mask,label=None):#使用预训练模型抽取数据特征withtorch.no_grad():last_hidden_state=self.pretrained(input_ids=input_ids,attention_mask=attention_mask).last_hidden_state#取第15个词的特征向量last_hidden_state=last_hidden_state[:,15]#对抽取的特征只取第一个字的结果做分类即可out=self.fc(last_hidden_state).softmax(dim=1)#计算lossloss=NoneiflabelisnotNone:loss=torch.nn.functional.cross_entropy(out,label)returnloss,out model=Model()model(**data)

#执行训练deftrain():optimizer=torch.optim.Adam(model.parameters(),lr=1e-4)forepochinrange(5):fori,datainenumerate(loader):loss,out=model(**data)loss.backward()optimizer.step()optimizer.zero_grad()ifi%200==0:out=out.argmax(dim=1)acc=(out==data['label']).sum().item()/len(data['label'])print(epoch,i,len(loader),loss.item(),acc)train()

#执行测试deftest():loader_test=torch.utils.data.DataLoader(dataset['test'],batch_size=8,shuffle=True,drop_last=True)correct=0total=0fori,datainenumerate(loader_test):withtorch.no_grad():_,out=model(**data)out=out.argmax(dim=1)correct+=(out==data['label']).sum().item()total+=len(data['label'])print(i,len(loader_test),correct/total)ifi==5:breakreturncorrect/total test()

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

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

相关文章

【软件测试】5_性能测试 _常用性能测试工具对比

文章目录 一、Loadrunner二、JMeter三、Loadrunner和Jmeter对比3.1 相同点3.2 不同点 一、Loadrunner HP Loadrunner是一种工业级标准性能测试负载工具,可以模拟上万用户实施测试,并在测试时可实时检测应用服务器及服务器硬件各种数据,来确认…

Alignment Protocol v3.0:定义 AI 系统的合法接入语义

Alignment Protocol v3.0 是 EDCA Admission Protocols 中的首个正式协议规范。它不描述模型如何思考, 不描述系统如何生成结果, 而是明确一件事:人类主张在进入 AI 系统前,必须经过合法接入判定。核心语义Alignment Protocol v3.…

【计算机毕业设计案例】基于python-CNN卷积神经网络的宠物行为训练识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

筑梦非洲:中国电建以实干绘就中非合作新图景

“我始终记得自己第一次登上高台时的心情,非常震撼。”中国电建埃及500兆瓦苏伊士湾风电项目,有77台风电机组,今年年初完成了全部风机的吊装任务。埃及工程师马哈茂德穆罕默德回想起那个时刻,至今难掩激动。穆罕默德说&#xff1a…

【毕业设计】基于python-CNN卷积神经网络的宠物行为训练识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【课程设计/毕业设计】基于python-CNN卷积神经网络的宠物行为训练识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

AI 写论文哪个软件最好?深度测评:虎贲等考 AI 凭 “学术闭环” 登顶

毕业季的学术焦虑,一半源于论文本身,一半源于选择困难 —— 市面上 AI 写论文软件层出不穷,功能宣传眼花缭乱,究竟 AI 写论文哪个软件最好?为了帮学子们找到真正能解决创作痛点的工具,我们从学术专业性、功…

收藏学习!大语言模型全解析:原理、架构与应用

大语言模型是基于海量文本训练的"超级概率预测机器",通过Transformer架构实现注意力机制,随参数规模增长涌现出理解、推理等新能力。它已成为各行业的基础生产力工具,但也存在幻觉、偏见等局限。有效使用需掌握提示工程技巧&#x…

企业虚拟服务平台AI能力落地实战:一线架构师的1个经典案例解析(附代码)

好的,作为一名资深软件工程师和技术博主,我很乐意为你撰写这篇关于“企业虚拟服务平台AI能力落地实战”的技术博客文章。标题:企业虚拟服务平台AI能力落地实战:一线架构师的1个经典案例解析(附核心代码) 摘…

【Python】【爬虫】复刻爬取豆瓣电影数据功能

参考链接 关于豆瓣的电影数据爬取与 Excel 交互式报表实现

【必收藏】Java开发者转型大模型完全指南:从CRUD到AI,你的Java功底就是最大底气

本文为Java开发者提供大模型转型实用路径,强调无需从零开始,而是将现有Java工程能力与大模型结合。通过两步走策略:先了解大模型应用场景,再从API调用入手,逐步掌握LangChain框架、私有化模型部署和Prompt工程。Java开…

月薪从8K到40K:初级提示工程师→架构师的薪资跃迁指南,掌握这9个核心技能

月薪从8K到40K:初级提示工程师→架构师的薪资跃迁指南,掌握这9个核心技能 摘要/引言 在当今数字化时代,技术领域的职业发展道路充满机遇与挑战。对于许多初级提示工程师而言,从月薪8K迈向40K,成为架构师,实…

2026年大学生学习网络安全还有出路吗?

如果你正在考虑网络安全这条路,我可以很肯定地告诉你——2026年网络安全不仅依然有出路,而且正处于需求爆发期,人才缺口巨大、薪资竞争力强、发展路径多元,是当前技术领域中前景最为明朗的方向之一。下面我会结合行业现状、政策背…

MCP:AI时代的“万能插座”,让大模型真正“动”起来

你是否曾想过,让AI不仅能聊天、写文章,还能直接帮你订机票、发邮件、控制家里的智能灯泡,甚至管理复杂的企业数据库? 这听起来像是科幻电影里的场景,但随着**MCP(Model Context Protocol,模型上…

【优化调度】基于遗传算法GA求解雾中任务调度计算附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#x1…

揭秘AI Agent:下一代人工智能的“全能管家”

你是否厌倦了繁琐的重复性工作?是否幻想拥有一个能听懂需求、自主决策、帮你搞定一切的私人助理? AI Agent(人工智能代理)的出现,正在将这个幻想变为现实。如果说大语言模型(LLM)是拥有了丰富知…

【图像加密】基于正弦 余弦混沌映射生成随机序列,对图像 RGB 三通道分别执行 “行移位 - 列移位 - XOR 异或” 操作实现图像加密解密附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#x1…

A.每日一题——85. 最大矩形

题目链接:85. 最大矩形(困难) 算法原理: 博主声明:这84题和85题感谢灵神🌹🌹🌹的启发,我在灵神的思路上产生自己的想法,因此自己纯手敲了一遍,写博…

云雀播放器 6.35.5| 高颜值音乐播放器 动画非常流畅 全球超1亿用户

云雀播放器是一款时尚、免费的Android离线音乐播放器和视频播放器,旨在为用户提供完美的音乐和视频播放体验。它拥有超过1亿用户的全球用户群,以其强大的功能和优秀的性能而备受用户喜爱。无论您是喜欢听音乐还是观看视频,云雀播放器都能满足…

springboot微服务框架中,a服务的aa方法中调用了b服务的bb方法,然后调用c服务的cc方法,由于bb方法会更新数据库,但是需要等到cc方法执行成功,才要把事务提交,如果cc方法不成功,就回滚

针对这种跨服务的事务场景&#xff0c;Spring Boot 提供了几种解决方案&#xff0c;按简单程度推荐&#xff1a;方案1&#xff1a;使用分布式事务&#xff08;推荐&#xff09;1.1 集成 Seata&#xff08;最完整方案&#xff09;步骤&#xff1a;<!-- 各服务pom.xml中添加 -…