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

昇思25天学习打卡营第十六天|基于MindSpore的GPT2文本摘要

背景

提供免费算力支持,有交流群有值班教师答疑的华为昇思训练营进入第十六天了。
今天是第十六天,从第十天开始,进入了应用实战阶段,前九天都是基础入门阶段,具体的学习内容可以看链接
基础学习部分
昇思25天学习打卡营第一天|快速入门
昇思25天学习打卡营第二天|张量 Tensor
昇思25天学习打卡营第三天|数据集Dataset
昇思25天学习打卡营第四天|数据变换Transforms
昇思25天学习打卡营第五天|网络构建
昇思25天学习打卡营第六天|函数式自动微分
昇思25天学习打卡营第七天|模型训练
昇思25天学习打卡营第八天|保存与加载
昇思25天学习打卡营第九天|使用静态图加速
应用实践部分
昇思25天学习打卡营第十天|CycleGAN图像风格迁移互换
昇思25天学习打卡营第十一天|DCGAN生成漫画头像
昇思25天学习打卡营第十二天|Diffusion扩散模型
昇思25天学习打卡营第十三天|GAN图像生成
昇思25天学习打卡营第十四天|Pix2Pix实现图像转换
昇思25天学习打卡营第十五天|基于 MindSpore 实现 BERT 对话情绪识别

学习内容

数据集加载与处理

  1. 数据集加载

    本次实验使用的是nlpcc2017摘要数据,内容为新闻正文及其摘要,总计50000个样本。

  2. 数据预处理

    原始数据格式:

    article: [CLS] article_context [SEP]
    summary: [CLS] summary_context [SEP]
    

    预处理后的数据格式:

    [CLS] article_context [SEP] summary_context [SEP]
    

    因GPT2无中文的tokenizer,我们使用BertTokenizer替代。

模型构建

  1. 构建GPT2ForSummarization模型,注意shift right的操作。
  2. 动态学习率

模型训练

模型推理

数据处理,将向量数据变为中文数据

model = GPT2LMHeadModel.from_pretrained('./checkpoint/gpt2_summarization_epoch_0.ckpt', config=config)
model.set_train(False)
model.config.eos_token_id = model.config.sep_token_id
i = 0
for (input_ids, raw_summary) in test_dataset.create_tuple_iterator():output_ids = model.generate(input_ids, max_new_tokens=50, num_beams=5, no_repeat_ngram_size=2)output_text = tokenizer.decode(output_ids[0].tolist())print(output_text)i += 1if i == 1:break

总结

文本摘要功能在很多地方都有应用,是效率提高神器。这节课非常有意义。
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 操作系统---进程的同步和互斥(易错知识点梳理)
  • 银行小额支付系统的全面解析
  • jQuery Mobile 实例:构建响应式移动网页的实践指南
  • 【Javascript】微信小程序项目结构目录详解
  • 鸿蒙 arkts 实现手机号中间四位隐藏, 可以使用 substring [ 简单适用新手 ]
  • RedHat运维-Linux存储管理基础4-LVM的相关减小操作
  • 服务攻防——中间件Jboss
  • 1.认识微服务
  • HackTheBox--BoardLight
  • 1.DDR3 SO-DIMM 内存条硬件总结
  • 【C语言】<常量> 之群英荟萃
  • 2024年全面导入APS系统:提升工厂生产效率的策略
  • EDI安全:如何在2024年保护您的数据免受安全和隐私威胁
  • 一起学Hugging Face Transformers(14)- “自定义训练循环”问题解答
  • JVM:字节码文件
  • axios 和 cookie 的那些事
  • echarts的各种常用效果展示
  • Gradle 5.0 正式版发布
  • java概述
  • React16时代,该用什么姿势写 React ?
  • Webpack 4 学习01(基础配置)
  • webpack项目中使用grunt监听文件变动自动打包编译
  • - 概述 - 《设计模式(极简c++版)》
  • 诡异!React stopPropagation失灵
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 类orAPI - 收藏集 - 掘金
  • 入门级的git使用指北
  • 小程序开发之路(一)
  • raise 与 raise ... from 的区别
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​520就是要宠粉,你的心头书我买单
  • # SpringBoot 如何让指定的Bean先加载
  • #、%和$符号在OGNL表达式中经常出现
  • (¥1011)-(一千零一拾一元整)输出
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (19)夹钳(用于送货)
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (c语言)strcpy函数用法
  • (LeetCode 49)Anagrams
  • (不用互三)AI绘画工具应该如何选择
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (七)glDrawArry绘制
  • (五)关系数据库标准语言SQL
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (学习总结16)C++模版2
  • (一)Dubbo快速入门、介绍、使用
  • **PHP二维数组遍历时同时赋值
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET HttpWebRequest、WebClient、HttpClient
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .Net实现SCrypt Hash加密
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • /bin、/sbin、/usr/bin、/usr/sbin
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限