DataDreamer
DataDreamer

快速入门
- 使用生成式 AI 和基础视觉模型从头开始生成合成数据集。
- 预先标注现有图像数据集,以减少人工标注工作,然后进行审查和训练。
Command Line
1pip install datadreamer
2datadreamer --class_names person moon robot- 包含有关如何生成数据集、训练模型以及导出模型以供 RVC2/RVC3 使用的说明的 Google Colab 笔记本:DataDreamer 快速入门
- 头盔检测示例:头盔检测
- 实例分割示例:实例分割
概述

DataDreamer 是一个先进的工具包,旨在促进边缘 AI 模型的开发,无论初始数据是否可用。DataDreamer 的独特功能包括:- 合成数据生成:消除对 AI 训练所需大量数据集的依赖。DataDreamer 使用户能够从头开始生成合成数据集,利用能够生成高质量、多样化图像的高级 AI 算法。
- 真实数据预标注:对您已有的图像使用相同的标注管道来引导分类、对象检测和实例分割任务的标签。
- 从基础模型中提取知识:
DataDreamer利用嵌入在复杂预训练 AI 模型中的潜在知识。此功能允许将广泛的理解从这些“基础模型”转移到更小、定制的模型中,从而显著增强其功能。 - 高效且强大的模型:
DataDreamer的主要目标是能够创建紧凑的模型,这些模型在尺寸上适合集成到任何设备,并且在性能上足够强大以完成特定任务。
特征
- 提示生成:使用强大的语言模型自动创建图像提示。提供的类别名称: ["horse", "robot"]生成的提示:“一张马和机器人和谐地共存于宁静的牧场中的照片。”
- 图像生成:使用最先进的生成模型生成合成数据集。

- 数据集标注:利用基础模型自动标记数据集。

- 预标注现有数据:当您想要在手动质量检查之前获得初始标签时,可以在真实图像目录上运行 DataDreamer。
- 边缘模型训练:训练高效的小型神经网络以进行边缘部署。(不属于此库的一部分)
预标注现有数据集
Command Line
1datadreamer \
2 --task instance-segmentation \
3 --image_annotator owlv2-slimsam \
4 --save_dir dataset_path \
5 --class_names dumpling \
6 --annotate_only--annotate_only 禁用了提示生成和图像生成,因此 DataDreamer 只运行标注阶段。将其与 --task 和 --image_annotator 结合使用,可以在分类、检测和实例分割工作流之间切换。安装
Command Line
1pip install datadreamerCommand Line
1docker pull ghcr.io/luxonis/datadreamer:latest
2docker run --rm -v "$(pwd):/app" ghcr.io/luxonis/datadreamer:latest --save_dir generated_dataset --device cpu--gpus all 与 --device cuda 一起使用。硬件要求
- 建议使用具有至少 16 GB 内存的 CUDA 兼容 GPU 以获得最佳体验。
- 建议至少有 16 GB 系统 RAM,对于较大的任务,建议使用 32 GB 或更多。
可用模型
| 模型类别 | 模型名称 | 描述/备注 |
|---|---|---|
| Prompt Generation | Mistral-7B-Instruct-v0.1 | 语义丰富的提示 |
| TinyLlama-1.1B-Chat-v1.0 | 小型语言模型 | |
| Qwen2.5-1.5B-Instruct | Qwen2.5 语言模型 | |
| Simple random generator | 随机选择的对象名称组合 | |
| Profanity Filter | Qwen2.5-1.5B-Instruct | 快速准确的语言模型脏话过滤器 |
| Image Generation | SDXL-1.0 | 慢且准确(1024x1024 图像) |
| SDXL-Turbo | 快速且不太准确(512x512 图像) | |
| SDXL-Lightning | 快速且准确(1024x1024 图像) | |
| Shuttle-3-Diffusion | 快速且准确(512x512 图像) | |
| Image Annotation | OWLv2 | 开放词汇对象检测器 |
| CLIP | 零样本图像分类 | |
| AIMv2 | 零样本图像分类 | |
| SlimSAM | 零样本实例分割 | |
| SAM2.1 | 零样本实例分割 |
用法
Command Line
1datadreamer --save_dir path/to/save_directory --config configs/det_config.yaml--task用于选择detection、classification或instance-segmentation--dataset_format用于选择raw、yolo、coco、voc、luxonis-dataset或cls-single--image_annotator用于选择检测器、分类器或分割堆栈--device用于在cuda和cpu之间进行选择
prompts.json 和 annotations.json 文件。其他输出格式旨在直接集成到常见的训练流程中。示例
Command Line
1datadreamer --save_dir path/to/save_directory --class_names person moon robot --prompts_number 20 --prompt_generator simple --num_objects_range 1 3 --image_generator sdxl-turbo有用技巧
- 批量生成:在内存允许的情况下,增加
--batch_size_prompt、--batch_size_image和--batch_size_annotation以提高吞吐量。