大规模文本生成图像数据集,促进多领域研究
DiffusionDB 是一个大规模文本生成图像数据集,包含1400万张由Stable Diffusion生成的图像,以真实用户的提示和超参数为基础。该数据集为研究生成模型与提示词的关系、检测深度伪造和设计人机交互工具提供了丰富资源,分为 DiffusionDB 2M 和 DiffusionDB Large 两个子集,满足不同需求。模块化的数据集结构使得用户可以高效加载所需部分。
DiffusionDB 是首个大规模的文本到图像提示数据集。它包含由稳定扩散生成的1400 万张图像,使用的提示和超参数由真实用户指定。这种前所未有的规模和多样性为理解提示与生成模型之间的相互作用、检测深度伪造及设计人机交互工具以帮助用户更轻松地使用这些模型提供了令人兴奋的研究机会。
DiffusionDB 可以在 🤗 Hugging Face 数据集 获取。
DiffusionDB 提供两个子集(DiffusionDB 2M 和 DiffusionDB Large),以支持不同的需求。
子集 | 图片数量 | 独特提示数量 | 体积 | 图片目录 | 元数据表 |
---|---|---|---|---|---|
DiffusionDB 2M | 2M | 1.5M | 1.6TB | images/ | metadata.parquet |
DiffusionDB Large | 14M | 1.8M | 6.5TB | diffusiondb-large-part-1/ diffusiondb-large-part-2/ | metadata-large.parquet |
png
格式;DiffusionDB Large 中的图像使用无损的 webp
格式。我们使用模块化的文件结构来分发 DiffusionDB。DiffusionDB 2M 中的 200 万张图像被分成 2000 个文件夹,每个文件夹包含 1000 张图像和一个 JSON 文件,该文件链接这 1000 张图像及其提示和超参数。类似地,DiffusionDB Large 中的 1400 万张图像分成 14000 个文件夹。
# DiffusionDB 2M ./ ├── images │ ├── part-000001 │ │ ├── 3bfcd9cf-26ea-4303-bbe1-b095853f5360.png │ │ ├── 5f47c66c-51d4-4f2c-a872-a68518f44adb.png │ │ ├── 66b428b9-55dc-4907-b116-55aaa887de30.png │ │ ├── [...] │ │ └── part-000001.json │ ├── part-000002 │ ├── part-000003 │ ├── [...] │ └── part-002000 └── metadata.parquet
# DiffusionDB Large ./ ├── diffusiondb-large-part-1 │ ├── part-000001 │ │ ├── 0a8dc864-1616-4961-ac18-3fcdf76d3b08.webp │ │ ├── 0a25cacb-5d91-4f27-b18a-bd423762f811.webp │ │ ├── 0a52d584-4211-43a0-99ef-f5640ee2fc8c.webp │ │ ├── [...] │ │ └── part-000001.json │ ├── part-000002 │ ├── part-000003 │ ├── [...] │ └── part-010000 ├── diffusiondb-large-part-2 │ ├── part-010001 │ │ ├── 0a68f671-3776-424c-91b6-c09a0dd6fc2d.webp │ │ ├── 0a0756e9-1249-4fe2-a21a-12c43656c7a3.webp │ │ ├── 0aa48f3d-f2d9-40a8-a800-c2c651ebba06.webp │ │ ├── [...] │ │ └── part-010001.json │ ├── part-010002 │ ├── part-010003 │ ├── [...] │ └── part-014000 └── metadata-large.parquet
这些子文件夹的名称为 part-0xxxxx
,每个图像都有一个由 UUID 版本 4 生成的唯一名称。子文件夹中的 JSON 文件与子文件夹具有相同的名称。每个图像是一个 PNG
文件 (DiffusionDB 2M) 或无损 WebP
文件 (DiffusionDB Large)。JSON 文件包含将图像文件名映射到其提示和超参数的键值对。例如,以下是 f3501e05-aef7-4225-a9e9-f516527408ac.png
的图像及其在 part-000001.json
中的键值对。
{ "f3501e05-aef7-4225-a9e9-f516527408ac.png": { "p": "geodesic landscape, john chamberlain, christopher balaskas, tadao ando, 4 k, ", "se": 38753269, "c": 12.0, "st": 50, "sa": "k_lms" }, }
数据字段为:
p
:提示se
:随机种子c
:CFG 量表(引导量表)st
:步数sa
:取样器为了方便您在不下载所有压缩文件的情况下轻松访问图像的提示和其他属性,我们为 DiffusionDB 2M 和 DiffusionDB Large 分别包括了两个元数据表 metadata.parquet
和 metadata-large.parquet
。
metadata.parquet
的形状是 (2000000, 13),metatable-large.parquet
的形状是 (14000000, 13)。两个表共享相同的模式,每行表示一张图像。我们以 Parquet 格式存储这些表,因为 Parquet 是基于列的:您可以高效地查询单个列(例如提示)而无需读取整个表。
以下是 metadata.parquet
中的三行随机行。
图像名称 | 提示 | part_id | seed | step | cfg | sampler | width | height | 用户名称 | 时间戳 | image_nsfw | prompt_nsfw |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0c46f719-1679-4c64-9ba9-f181e0eae811.png | a small liquid sculpture, corvette, viscous, reflective, digital art | 1050 | 2026845913 | 50 | 7 | 8 | 512 | 512 | c2f288a2ba9df65c38386ffaaf7749106fed29311835b63d578405db9dbcafdb | 2022-08-11 09:05:00+00:00 | 0.0845108 | 0.00383462 |
a00bdeaa-14eb-4f6c-a303-97732177eae9.png | human sculpture of lanky tall alien on a romantic date at italian restaurant with smiling woman, nice restaurant, photography, bokeh | 905 | 1183522603 | 50 | 10 | 8 | 512 | 768 | df778e253e6d32168eb22279a9776b3cde107cc82da05517dd6d114724918651 | 2022-08-19 17:55:00+00:00 | 0.692934 | 0.109437 |
6e5024ce-65ed-47f3-b296-edb2813e3c5b.png | portrait of barbaric spanish conquistador, symmetrical, by yoichi hatakenaka, studio ghibli and dan mumford | 286 | 1713292358 | 50 | 7 | 8 | 512 | 640 | 1c2e93cfb1430adbd956be9c690705fe295cbee7d9ac12de1953ce5e76d89906 | 2022-08-12 03:26:00+00:00 | 0.0773138 | 0.0249675 |
metadata.parquet
和 metatable-large.parquet
共享相同的模式。
列 | 类型 | 描述 |
---|---|---|
image_name | string | 图像 UUID 文件名。 |
prompt | string | 用来生成此图像的文本提示。 |
part_id | uint16 | 此图像的文件夹 ID。 |
seed | uint32 | 用来生成此图像的随机种子。 |
step | uint16 | 步数(超参数)。 |
cfg | float32 | 引导量表(超参数)。 |
sampler | uint8 | 取样器方法(超参数)。映射:{1: "ddim", 2: "plms", 3: "k_euler", 4: "k_euler_ancestral", 5: "k_heun", 6: "k_dpm_2", 7: "k_dpm_2_ancestral", 8: "k_lms", 9: "others"} . |
width | uint16 | 图像宽度。 |
height | uint16 | 图像高度。 |
user_name | string | 生成此图像的用户唯一 discord ID 的 SHA256 哈希。例如,xiaohk#3146 的哈希为 e285b7ef63be99e9107cecd79b280bde602f17e0ca8363cb7a0889b67f0b5ed0 。"deleted_account" 指已删除其帐户的用户。None 表示在我们第二次抓取时该图像已被删除。 |
timestamp | timestamp | 生成此图像时的 UTC 时间戳。None 表示在我们第二次抓取时该图像已被删除。请注意,对于具有相同提示、超参数、宽度和高度的重复图像,时间戳并不准确。 |
image_nsfw | float32 | 图像被认为不适宜公众查看的可能性。分数由 LAION 的先进 NSFW 检测器 预测(范围为 0 到 1)。2.0 的分数表示该图像已被标记为 NSFW,并且已被 Stable Diffusion 模糊。 |
prompt_nsfw | float32 | 提示被认为不适宜公众查看的可能性。分数由图书馆 Detoxicy 预测。每个分数代表 toxicity 和 sexual_explicit 的最大值(范围为 0 到 1)。 |
<picture> <source media="(prefers-color-scheme: dark)" srcset="https://i.imgur.com/KLbJkUr.png"> <img alt="NSFW分数分布" src="https://i.imgur.com/1RiGAXL.png" width="100%"> </picture>警告 虽然Stable Diffusion模型有一个NSFW过滤器,可以自动模糊用户生成的NSFW图像,但这个NSFW过滤器并不完美—DiffusionDB仍包含一些NSFW图像。因此,我们使用最先进的模型计算并提供图像和提示的NSFW分数。这些分数的分布如下图所示。在使用DiffusionDB进行项目之前,请决定一个适当的NSFW分数阈值以过滤掉NSFW图像。
DiffusionDB很大(1.6TB或6.5TB)!然而,通过我们的模块化文件结构,您可以轻松加载所需数量的图像及其提示和超参数。在example-loading.ipynb
笔记本中,我们演示了加载DiffusionDB子集的三种方法。以下是简短的总结。
您可以使用Hugging Face Datasets
库轻松加载DiffusionDB中的提示和图像。我们根据实例数预定义了16个DiffusionDB子集(配置)。您可以在数据集预览中查看所有子集。
注意 要使用Datasets Loader,您还需要安装
Pillow
(pip install Pillow
)
import numpy as np from datasets import load_dataset # 使用`large_random_1k`子集加载数据集 dataset = load_dataset('poloclub/diffusiondb', 'large_random_1k')
此仓库包含一个Python下载器download.py
,允许您下载和加载DiffusionDB。您可以从命令行使用它。以下是加载DiffusionDB子集的示例。
该脚本使用如下命令行参数运行:
-i
--index
- 要下载的文件或文件范围的下界,如果-r
也设置了。-r
--range
- 如果设置了-i
,则为要下载的文件范围的上界。-o
--output
- 自定义输出目录的名称。如果未设置,默认是当前目录。-z
--unzip
- 下载后解压文件。-l
--large
- 从Diffusion DBLarge下载。默认是Diffusion DB 2M。要下载的特定文件作为HuggingFace文件结尾的数字提供。脚本将自动填充数字并生成URL。
python download.py -i 23
要下载的文件集的上下界分别由-i
和-r
标志设置。
python download.py -i 1 -r 2000
注意,此范围将下载整个数据集。脚本会要求您确认下载目的地有1.7TB的存储空间。
脚本默认定位到数据集part
.zip文件的images/
。如果您希望移动下载位置,您应该移动这些文件或使用符号链接。
python download.py -i 1 -r 2000 -o /home/$USER/datahoarding/etc
再次提示,脚本在下载时会自动在目录和文件之间添加/
。
脚本设置为在所有文件下载完成后解压,因为在某些情况下,这两个过程都可能耗时较长。
python download.py -i 1 -r 2000 -z
metadata.parquet
(仅文本)如果您的任务不需要图像,那么您可以轻松访问metadata.parquet
表中的所有200万个提示和超参数。
from urllib.request import urlretrieve import pandas as pd # 下载parquet表 table_url = f'https://huggingface.co/datasets/poloclub/diffusiondb/resolve/main/metadata.parquet' urlretrieve(table_url, 'metadata.parquet') # 使用Pandas读取表 metadata_df = pd.read_parquet('metadata.parquet')
我们从官方Stable Diffusion Discord服务器收集了所有图像。详情请阅读我们的研究论文。代码包含在./scripts/
中。
如果您在DiffusionDB中发现任何有害图像或提示,您可以使用这个Google表单报告它们。同样,如果您是此数据集中包含的图像的创作者,并希望从DiffusionDB中删除您的图像,也可以使用同一表单告知我们。我们将密切监控此表单并定期更新DiffusionDB。
DiffusionDB由Jay Wang,Evan Montoya,David Munechika,Alex Yang,Ben Hoover,Polo Chau创建。
@article{wangDiffusionDBLargescalePrompt2022, title = "{{DiffusionDB}}: {{A}} Large-Scale Prompt Gallery Dataset for Text-to-Image Generative Models", author = {Wang, Zijie J. and Montoya, Evan and Munechika, David and Yang, Haoyang and Hoover, Benjamin and Chau, Duen Horng}, year = {2022}, journal = {arXiv:2210.14896 [cs]}, url = {https://arxiv.org/abs/2210.14896} }
DiffusionDB数据集在CC0 1.0许可下可用。本仓库中的Python代码在MIT许可下可用。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大 语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销 售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号