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

7. 案例之生成器生成批量歌词

案例: 基于传入的数值(每批次的歌词条数),创建生成器,生成批次歌词.

""" 案例:基于传入的数值(每批次的歌词条数),创建生成器,生成批次歌词. (很多模型都是一个批次一个批次的给模型喂数据,来训练模型的。 构建数据生成器每8个条数据(8个样本)8个数据的给模型喂数据;) """# 需求:基于文件中的歌词,创建生成器,根据传入的每批次的歌词条数,生成歌词批次。importmath# 1.定义函数,接收每批次的歌词条数,返回生成器.defdataset_loader(batch_size):""" #自定义歌词批量生成器 :param batch_size: 每批次的歌词条数 :return: 生成器,母个元素都是一批次的数据,例如:(8条,8条,8条...) """# 1.1 读取文件数据withopen('./data/data.txt','r',encoding='utf-8')assrc_file:# 1.2 一次读取所有行# lines=[line.strip() for line in src_file.readlines()]lines=src_file.readlines()print(lines)# 1.3 计算批次总数total_batch=math.ceil(len(lines)/batch_size)# 1.4 通过for循环方式,获取到每批次的数据,放到生成器中并返回foridxinrange(total_batch):#假设5批:idx的值:0 1 2 3 4# 第1批歌词,索引(idx=0),歌词为:第1条-第8条,索引为:0-7# yield lines[0:8] #包左不包右# 第2批歌词,索引(idx=1),歌词为:第9条-第16条,索引为:8-15# yield lines[8:16]# 第3批歌词,索引(idx=2),歌词为:第17条-第24条,索引为:16-23# yield lines[16:24]yieldlines[idx*batch_size:(idx+1)*batch_size]# 2.测试dline=dataset_loader(8)# print(next(dline)) # 第一批# print(next(dline)) # 第二批forbatch_dataindline:print(batch_data)
http://www.jsqmd.com/news/658618/

相关文章:

  • SLAM从未消失,只是在各产业中悄悄完成「位置下沉、角色重组」
  • PCBA一站式服务如何缩短储能产品研发周期?
  • 嵌入式Linux系统轻量级SSH服务Dropbear的交叉编译与深度定制
  • STM32F103C8T6驱动28BYJ-48步进电机:从3.3V电平兼容性测试到完整代码避坑
  • PostgreSQL vs PolarDB:Checkpoint 调优策略深度对比(高频 vs 低频)
  • RK3566/RK3588实战:如何用yolov5单线程推理优化NPU利用率(附性能监控技巧)
  • PEG-PDLLA-Fe₃O₄ NPs,PEG-PDLLA修饰四氧化三铁纳米颗粒,反应步骤
  • Matlab 2023b最新版安装指南:从下载到激活的完整流程(附百度网盘资源)
  • python异常处理练习-----练习题2:列表元素访问器
  • Win10下STM32F4秒变Python开发板:手把手教你下载、烧写MicroPython固件(附资源与验证)
  • 从手机快充到车载电源:拆解COT控制DC-DC如何在你的设备里高效‘降压’
  • Display Driver Uninstaller深度解析:专业级显卡驱动完全清理方案
  • Halcon模板匹配后,如何用vector_angle_to_rigid和affine_trans_contour_xld把结果“画”出来?
  • ESP32 LVGL文件系统实战:从SD卡加载图片与字体资源
  • 从扫地机器人到无人机:用Python模拟Bug1/Bug2算法,看经典避障如何影响现代机器人
  • 新概念英语(第三册)精读与场景应用——Lesson 6 至 Lesson 10 核心主题解析
  • PEG-PVA-PCL-Fe₃O₄ NPs,PVA-PEG-PCL修饰四氧化三铁纳米颗粒,成分与性质
  • 终极指南:使用SerialPlot实现串口数据可视化监控的完整教程
  • Matlab信号处理避坑指南:freqz函数里那个容易被忽略的‘whole’参数到底有啥用?
  • CAN总线通信不稳?可能是你的采样点没对齐!一个真实车载网络故障排查案例
  • (一)openEuler的安装和使用基础
  • 别再只改单元格了!PyQt5 QTableWidget表头(horizontalHeader/verticalHeader)的5个实用技巧与避坑指南
  • 从编码到波特率:STC51/STM32串口中文乱码的深度排查与实战解决
  • 别再手动画框了!用YOLOv10给你的数据集做‘预标注’,效率提升90%(附Python代码)
  • SQL 执行失败如何回滚?事务已提交还能恢复吗?——MySQL 误操作数据恢复全指南
  • 玩转树莓派蓝牙(2)——构建手机与树莓派4B的无线数据通道
  • Spring AI与MCP协议整合实战:架构分析与关键技术
  • 从 0 到 1:文件上传漏洞的校验、绕过与真实场景利用
  • 2026年靠谱的7.5kw伺服电机实力工厂推荐 - 行业平台推荐
  • 告别繁琐导入!用MATLAB readmatrix函数5分钟搞定Excel和CSV数据读取