
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 | 採樣器 | 寬度 | 高度 | 使用者名稱 | 時間戳 | 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。