LVM数据集准备完全手册:从原始图像到4200亿视觉令牌
LVM数据集准备完全手册从原始图像到4200亿视觉令牌【免费下载链接】LVM项目地址: https://gitcode.com/gh_mirrors/lv/LVMLVMGitHub加速计划是一个强大的视觉语言模型工具集能够将原始图像数据转化为4200亿视觉令牌为AI模型训练提供高质量的视觉数据集。本指南将带你完成从数据准备到令牌生成的全过程让你轻松掌握视觉句子的创建方法。视觉句子LVM数据集的核心概念 视觉句子是LVM数据集的基础构建块它将不同类型的视觉数据组织成结构化序列。这些序列可以包含单张图像、图像序列、带注释的图像等多种形式为模型提供丰富的视觉学习素材。图LVM视觉句子的组成结构展示了如何将不同类型的视觉数据组织成序列最终构建包含4200亿令牌的UVD-V1统一视觉数据集主要视觉句子类型单图像序列如LAION数据集由独立图像组成图像序列如视频帧、3D旋转视图、合成视角带注释图像如风格迁移、目标检测、低光增强结果自由形式注释图像如包含目标检测和实例分割的复杂注释带注释视频如视频分割序列5分钟快速开始环境准备 ⚡在开始数据集准备前请确保已正确安装LVM项目git clone https://gitcode.com/gh_mirrors/lv/LVM cd LVM项目提供了GPU和TPU环境配置文件你可以根据自己的硬件环境选择合适的配置GPU环境配置scripts/gpu_environment.ymlTPU环境配置scripts/tpu_commands.sh 和 scripts/tpu_vm_setup.sh数据集处理全流程从原始数据到视觉令牌 1. 选择合适的令牌化脚本LVM提供了多种令牌化脚本位于tokenize_examples/目录下适用于不同类型的数据集tokenize_paired_dataset_muse.py处理配对数据集tokenize_video_muse.py处理视频数据集tokenize_colorization_dataset_muse.py处理彩色化数据集tokenize_inpainting_dataset_muse.py处理图像修复数据集tokenize_multi_datasets_muse.py处理多数据集混合tokenize_category_images_muse.py处理类别数据集2. 运行令牌化脚本根据你的数据集类型选择合适的脚本。以下是几个常用示例视频数据集处理视频数据集将被处理为帧序列[frame1, frame2, frame3, ... framex]# 视频数据集令牌化示例 python tokenize_examples/tokenize_video_muse.py --input_path /path/to/videos --output_path /path/to/tokenized --stride 2stride参数控制从视频中提取帧的采样率设置为2表示每2帧提取一帧。彩色化数据集处理彩色化数据集将被处理为[灰度图像, 彩色图像, 灰度图像, 彩色图像, ...]序列# 彩色化数据集令牌化示例 python tokenize_examples/tokenize_colorization_dataset_muse.py --input_path /path/to/color_images --output_path /path/to/tokenized脚本会自动生成灰度图像无需手动准备。图像修复数据集处理图像修复数据集将被处理为[遮罩图像, 原始图像, 遮罩图像, 原始图像, ...]序列# 图像修复数据集令牌化示例 python tokenize_examples/tokenize_inpainting_dataset_muse.py --input_path /path/to/images --output_path /path/to/tokenized --hole_mask_ratio 0.3hole_mask_ratio参数控制遮罩比例0.3表示遮罩30%的图像区域。3. 数据验证检查令牌化结果生成视觉句子后建议使用tokenize_examples/detokenization_muse.py进行完整性检查确保视觉句子能够正确恢复# 验证令牌化结果 python tokenize_examples/detokenization_muse.py --input_path /path/to/tokenized --output_path /path/to/validation4. 生成JSONL文件每个数据集处理完成后会生成dataset*.jsonl文件这些文件包含了令牌化后的视觉句子数据。5. 混合和打乱数据集最后一步是将所有JSONL文件混合并打乱以确保训练数据的随机性# 设置临时目录和内存分配 export TMPDIR/global/scratch/users/yutong/data/temp export MEMORY20 # 导航到数据目录 cd /path/to/your/data/ # 混合和打乱数据集 cat tokenized_tasks/*.jsonl | terashuf mix_and_shuffled/dataset.jsonl高级技巧优化视觉令牌质量 ✨类别数据集的高级配置对于类别数据集你可以使用images_per_shot和n_shots参数自定义每个类别的图像数量和类别数量# 类别数据集高级配置示例 python tokenize_examples/tokenize_category_images_muse.py --input_path /path/to/category_images --output_path /path/to/tokenized --images_per_shot 10 --n_shots 50分割数据集的颜色映射处理分割数据集时建议在使用prismer生成伪标签后运行颜色映射脚本# 分割数据集颜色映射 python tokenize_examples/map_color.py --input_path /path/to/segmentation_labels --output_path /path/to/color_mapped_labels常见问题解决 ️Q: 如何处理超大视频文件A: 对于超大视频文件可以增加stride参数值以减少提取的帧数或使用tokenize_examples/tokenize_seq_images_muse.py先将视频分割成图像序列。Q: 生成的令牌文件太大怎么办A: 可以使用tokenize_examples/tokenize_multi_datasets_muse.py将大数据集拆分为多个小数据集分别处理后再混合。Q: 如何评估令牌化质量A: 除了使用detokenization_muse.py进行视觉检查外还可以使用评估目录中的工具如evaluation/eval_perplexity.py计算困惑度来评估令牌质量。通过本指南你已经掌握了从原始图像到4200亿视觉令牌的完整流程。无论是单图像、视频还是带注释的复杂数据LVM都提供了简单易用的工具来帮助你构建高质量的视觉数据集。现在就开始你的视觉语言模型训练之旅吧【免费下载链接】LVM项目地址: https://gitcode.com/gh_mirrors/lv/LVM创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考