region:us
---
configs:
- config_name: default
  data_files:
  - split: train
    path: data/train-*
dataset_info:
  features:
  - name: Prompt
    dtype: string
  - name: Category
    dtype: string
  - name: Challenge
    dtype: string
  - name: Note
    dtype: string
  - name: images
    dtype: image
  - name: model_name
    dtype: string
  - name: seed
    dtype: int64
  splits:
  - name: train
    num_bytes: 149898953.312
    num_examples: 1632
  download_size: 150261013
  dataset_size: 149898953.312
---
# Dataset Card for "wuerstchen"

Dataset was generated using the code below:

```py
import torch
from datasets import Dataset, Features
from datasets import Image as ImageFeature
from datasets import Value, load_dataset
from diffusers import AutoPipelineForText2Image

import PIL


def main():
    print("Loading dataset...")
    parti_prompts = load_dataset("nateraw/parti-prompts", split="train")

    print("Loading pipeline...")
    seed = 0

    device = "cuda"
    generator = torch.Generator(device).manual_seed(seed)
    dtype = torch.float16

    ckpt_id = "warp-diffusion/wuerstchen"

    pipeline =  AutoPipelineForText2Image.from_pretrained(
        ckpt_id, torch_dtype=dtype
    ).to(device)

    pipeline.prior_prior = torch.compile(pipeline.prior_prior, mode="reduce-overhead", fullgraph=True)
    pipeline.decoder = torch.compile(pipeline.decoder, mode="reduce-overhead", fullgraph=True)

    print("Running inference...")
    main_dict = {}
    for i in range(len(parti_prompts)):
        sample = parti_prompts[i]
        prompt = sample["Prompt"]

        image = pipeline(
            prompt=prompt,
            height=1024,
            width=1024,
            prior_guidance_scale=4.0,
            decoder_guidance_scale=0.0,
            generator=generator,
        ).images[0]

        image = image.resize((256, 256), resample=PIL.Image.Resampling.LANCZOS)
        img_path = f"wuerstchen_{i}.png"
        image.save(img_path)
        main_dict.update(
            {
                prompt: {
                    "img_path": img_path,
                    "Category": sample["Category"],
                    "Challenge": sample["Challenge"],
                    "Note": sample["Note"],
                    "model_name": ckpt_id,
                    "seed": seed,
                }
            }
        )

    def generation_fn():
        for prompt in main_dict:
            prompt_entry = main_dict[prompt]
            yield {
                "Prompt": prompt,
                "Category": prompt_entry["Category"],
                "Challenge": prompt_entry["Challenge"],
                "Note": prompt_entry["Note"],
                "images": {"path": prompt_entry["img_path"]},
                "model_name": prompt_entry["model_name"],
                "seed": prompt_entry["seed"],
            }

    print("Preparing HF dataset...")
    ds = Dataset.from_generator(
        generation_fn,
        features=Features(
            Prompt=Value("string"),
            Category=Value("string"),
            Challenge=Value("string"),
            Note=Value("string"),
            images=ImageFeature(),
            model_name=Value("string"),
            seed=Value("int64"),
        ),
    )
    ds_id = "diffusers-parti-prompts/wuerstchen"
    ds.push_to_hub(ds_id)


if __name__ == "__main__":
    main()
```