
人工智能大模型数据工程数据清洗数据增强数据质检【免费下载链接】data-juicerData processing for and with foundation models! ➡️ ➡️ 项目地址https://gitcode.com/gh_mirrors/da/data-juicer点击查看免费下载本文以>self.FIXED_ARGS { caption_num: 1, # 每个视频只生成 1 条候选字幕 keep_candidate_mode: random_any, # 随机保留 1 条生成结果 keep_original_sample: False, # 子算子不保留原始样本避免重复 }也就是说两个字幕生成子算子每个视频只产出一条字幕两个标签生成子算子将标签写入 meta 字段默认键为video_audio_tags与video_frame_tags见 data_juicer/utils/constant.py 中的MetaKeys。_prepare_op_args还会通过op_class.__init__.__code__.co_varnames过滤掉子算子不认识的参数避免误传。子算子的可配置性虽然上层只暴露了 4 个vid_*_args字典但每个字典可以透传对应子算子的全部参数。例如vid_cap_from_vid_args可传frame_sampling_methodall_keyframes/uniform、frame_num、horizontal_flip、vertical_flip、prompt、prompt_key等见 video_captioning_from_video_mapper.pyvid_cap_from_frm_args同样支持这些帧采样与提示词参数见 video_captioning_from_frames_mapper.py。vid_tag_from_frm_args可传frame_sampling_method与frame_num。这种薄封装 参数透传的设计让用户既能一键启用多源归纳又能精细控制每个子能力。处理流程与输出格式_process_single_sample的流程清晰地体现了分块处理与两级生成的设计源码 video_captioning_from_summarizer_mapper.py 中_process_single_sample方法空样本过滤若样本无videos字段或字段为空或cap_op_list与tag_op_list均为空所有consider_*为False直接返回空列表不生成任何结果。按块切分将text字段按特殊 tokenSpecialTokens.eoc切分成多个 chunk逐块统计SpecialTokens.video视频占位符的出现次数据此从videos字段中按顺序取对应的视频路径。这保证了一个文本块内多个视频占位符也能被正确处理。标签先行依次运行 tag 类子算子从Fields.meta中读取video_audio_tags与video_frame_tags。其中帧标签会按频率取前keep_tag_num个源码tag_list[self.keep_tag_num]之前的most_common排序结果拼入待归纳文本列表。字幕随后依次运行 cap 类子算子并用remove_special_tokens剥离生成文本中的特殊 token 后拼入列表。文本归纳将所有字幕与标签用, 拼接为all_texts交给 summarizer 模型model.generate(..., max_new_tokens128)生成一条归纳字幕。回填输出归纳文本按格式f{SpecialTokens.video * vid_count} {summarized_text}回填并追加SpecialTokens.eoc最终替换text字段。最终效果示例以测试数据为参考见 test_video_captioning_from_summarizer_mapper.py输入__dj__video 白色的小羊站在一旁讲话。旁边还有两只灰色猫咪和一只拉着灰狼的猫咪。文本 videos字段指向视频文件输出__dj__video 归纳后的综合字幕原文字幕被归纳结果替换视频占位符保留keep_original_sample参数控制批处理行为process_batched为True时保留原始样本同时追加归纳样本数据集行数翻倍为False时仅保留归纳结果。在 YAML 配置中启用data-juicer 的官方全量配置 data_juicer/config/config_all.yaml 中已收录该算子注释为 generate video captions by summarizing several kinds of generated texts。在实际使用中只需在配置文件的process列表中加入process: - video_captioning_from_summarizer_mapper: hf_summarizer: mrm8488/flan-t5-large-finetuned-openai-summarize_from_feedback # 归纳模型可替换 trust_remote_code: false consider_video_caption_from_video: true consider_video_caption_from_audio: true consider_video_caption_from_frames: true consider_video_tags_from_audio: true consider_video_tags_from_frames: true vid_cap_from_vid_args: frame_sampling_method: uniform frame_num: 3 vid_tag_from_frm_args: frame_sampling_method: uniform frame_num: 3 keep_tag_num: 5 keep_original_sample: true也可以在 Python 中直接调用算子对象并配合Dataset.map使用批处理算子直接调用op.process即可测试用例 test_video_captioning_from_summarizer_mapper.py 展示了这一用法其中通过统计每个 chunk 内视频占位符数量与字幕数量相等来校验生成完整性。运行前提与注意事项依赖检查初始化时会通过LazyLoader.check_packages校验torch、transformers、transformers-stream-generator、einops、accelerate、tiktoken、torchaudio等包缺失会导致初始化失败帧标签子算子额外依赖ramrecognize-anything。硬件要求标签含gpu内部所有子模型均为 CUDA 模型_accelerator cuda默认申请约 40GB 显存建议在高显存 GPU 环境运行测试用例因内存溢出OOM被标注跳过unittest.skip(OOM)从侧面印证其资源开销之大。数据格式要求文本字段需使用>赞分享人工智能大模型数据工程数据清洗数据增强数据质检【免费下载链接】data-juicerData processing for and with foundation models! ➡️ ➡️ 项目地址https://gitcode.com/gh_mirrors/da/data-juicer点击查看免费下载相关推荐ET框架 帧同步实战20Hz心跳、5帧预测与hash回滚是怎么跑通的ET框架 帧同步实战20Hz心跳、5帧预测与hash回滚是怎么跑通的 你按下攻击键屏幕里的角色愣了0.25秒才挥出那刀对面却已经砍完两下——这就是帧同步做人工智能大模型数据工程数据清洗数据增强数据质检Data-Juicer Ray 分布式视频精确去重算子 ray_video_deduplicator 深度解析Data Juicer Ray 分布式视频精确去重算子 ray_video_deduplicator 深度解析 本文围绕 Data Juicer 中的 ray_人工智能大模型数据工程数据清洗数据增强数据质检Data-Juicer 实体关系聚合算子 most_relevant_entities_aggregator 完全指南Data Juicer 实体关系聚合算子 most_relevant_entities_aggregator 完全指南 本文以 Data Juicer 开源仓库人工智能大模型数据工程数据清洗数据增强数据质检上一篇OneUptime AI/LLM 可观测性基于 OpenTelemetry GenAI 语义约定的调用追踪、成本核算与预算告警实战指南下一篇OpenCloud 项目中的 Go 字符串相似度算法库 smetricsLevenshtein、Jaro-Winkler、Soundex 与 Hamming 完全指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考