
diffusionDB是第一个大规模的文本对图像提示数据集。它包含使用稳定扩散产生的1400万张图像,并使用了真实用户指定的提示和超参数。这个人类驱动的数据集的前所未有的规模和多样性为理解提示和生成模型之间的相互作用,检测深击和设计人类交互工具提供了令人兴奋的研究机会,以帮助用户更轻松地使用这些模型。
diffusiondb可以使用吗?拥抱面部数据集。
diffusionDB提供两个子集(diffusiondb 2m和diffusiondb tamer),以支持不同的需求。
| 子集 | 图像数字 | 一组独特的提示 | 尺寸 | 图像目录 | 元数据表 |
|---|---|---|---|---|---|
| 扩散db 2m | 2m | 1.5m | 1.6TB | images/ | metadata.parquet |
| 扩散db大 | 14m | 18m | 6.5TB | diffusiondb-large-part-1/ diffusiondb-large-part-2/ | metadata-large.parquet |
png格式存储; diffusiondb中的图像大使用无损的webp格式。 我们使用模块化的文件结构来分发diffusionDB。 DiffusionDB中的200万张图像分为2,000个文件夹,每个文件夹都包含1,000张图像和一个将这些1,000张图像链接到其提示和超参数的JSON文件。同样,大型DiffusionDB中的1400万张图像分为14,000个文件夹。
# 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较大)。 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 :采样器为了帮助您轻松访问图像的提示和其他属性,而无需下载所有ZIP文件,我们包括两个元数据表metadata.parquet和metadata-large.parquet for diffusiondb 2m和diffusiondb大。
metadata.parquet的形状是(2000000,13),而metatable-large.parquet的形状为(14000000,13)。两个表共享相同的模式,每行代表图像。我们以镶木格式存储这些表格,因为Parquet是基于列的:您可以在不阅读整个表的情况下有效查询单个列(例如,提示)。
以下是来自metadata.parquet的三个随机行。
| image_name | 迅速的 | part_id | 种子 | 步 | CFG | 采样器 | 宽度 | 高度 | user_name | 时间戳 | image_nsfw | 提示_NSFW |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0C46F719-1679-4C64-9BA9-F181E0EAE811.PNG | 一个小的液体雕塑,克尔维特,粘性,反光,数字艺术 | 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 | 在意大利餐厅的浪漫约会中,人类雕塑的人类雕塑与微笑的女人,漂亮的餐厅,摄影,散景 | 905 | 1183522603 | 50 | 10 | 8 | 512 | 768 | DF778E253E6D32168EB22279A97776B3CDE107CC82DA05517DD6D114724918651 | 2022-08-19 17:55:00+00:00 | 0.692934 | 0.109437 |
| 6E5024CE-65ED-47F3-B296-EDB2813E3C5B.PNG | 野蛮西班牙征服的肖像,对称,Yoichi Hatakenaka,Studio Ghibli和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”是指删除其帐户的用户。在第二次刮擦之前,这并不意味着图像已被删除。 |
timestamp | timestamp | 当生成此图像时,UTC时间戳。在第二次刮擦之前,这并不意味着图像已被删除。请注意,对于具有相同提示,宽度和高度的重复图像,时间戳是不准确的。 |
image_nsfw | float32 | 图像的可能性是NSFW。 Laion的最先进的NSFW检测器预测得分(从0到1)。分数为2.0表示图像已经被标记为NSFW,并通过稳定扩散而模糊。 |
prompt_nsfw | float32 | 提示为NSFW的可能性。分数由图书馆排毒预测。每个分数代表toxicity和sexual_explicit的最大分数(从0到1)。 |
警告尽管稳定的扩散模型具有一个NSFW过滤器,该滤波器会自动模糊用户生成的NSFW图像,但此NSFW滤波器并不完美 - DiffusionDB仍然包含一些NSFW图像。因此,我们使用最先进的模型计算并提供图像和提示的NSFW分数。这些分数的分布如下所示。请在项目中使用dibFusionDB之前,请确定适当的NSFW分数阈值,以过滤NSFW图像。
diffusionDB很大(1.6TB或6.5 TB)!但是,借助我们的模块化文件结构,您可以轻松地加载大量的图像及其提示和超参数。在example-loading.ipynb笔记本中,我们演示了加载diffusionDB子集的三种方法。以下是简短的摘要。
您可以使用拥抱面部Datasets集库轻松地加载来自diffusionDB的提示和图像。我们根据实例数量预定了16个diffusionDB子集(配置)。您可以在数据集预览中查看所有子集。
注意要使用数据集装载器,您也需要安装
Pillow(pip install Pillow)
import numpy as np
from datasets import load_dataset
# Load the dataset with the `large_random_1k` subset
dataset = load_dataset ( 'poloclub/diffusiondb' , 'large_random_1k' )此存储库包括一个python downloader download.py ,可让您下载和加载diffusionDB。您可以从命令行使用它。以下是加载xudfusionDB子集的示例。
该脚本使用命令行参数运行,如下所示:
-i --index如果还设置了-r ,则要下载或下限的文件范围。-r --range - 如果设置-i ,则要下载的文件范围的上限。-o --output自定义输出目录的名称。如果未设置,则默认为当前目录。-z --unzip下载后解压缩文件/文件-l --large - 从扩散db大的下载。默认为扩散DB 2M。 要下载的特定文件作为在HuggingFace上的文件末尾提供的数字。该脚本将自动填充数字并生成URL。
python download.py -i 23要下载的文件集的上限和下限分别由-i和-r标志设置。
python download.py -i 1 -r 2000请注意,此范围将下载整个数据集。脚本将要求您确认您在下载目的地免费免费提供1.7TB。
该脚本将默认为images/在图像中的数据集part的位置。如果您想移动下载位置,则应移动这些文件或使用符号链接。
python download.py -i 1 -r 2000 -o /home/ $USER /datahoarding/etc同样,脚本下载时将自动添加目录和文件之间的/ 。
在所有文件下载后,脚本设置为解压缩文件,因为在某些情况下,这两个过程都可能是冗长的过程。
python download.py -i 1 -r 2000 -zmetadata.parquet 。如果您的任务不需要图像,则可以轻松访问metadata.parquet表中的所有200万提示和超参数。
from urllib . request import urlretrieve
import pandas as pd
# Download the parquet table
table_url = f'https://huggingface.co/datasets/poloclub/diffusiondb/resolve/main/metadata.parquet'
urlretrieve ( table_url , 'metadata.parquet' )
# Read the table using Pandas
metadata_df = pd . read_parquet ( 'metadata.parquet' )我们从官方稳定扩散不和谐服务器中收集了所有图像。请阅读我们的研究论文以获取详细信息。代码包含在./scripts/中。
如果您在xudfusionDB中找到任何有害的图像或提示,则可以使用此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许可证获得。
如果您有任何疑问,请随时打开问题或联系Jay Wang。