Skip to main content

The library `pared` down the features of `diffusers` implemented the minimum function to generate images without using huggingface/diffusers to understand the inner workings of the library.

Project description

PareDiffusers

Screenshot 2024-01-17 at 10 53 49 PM

parediffusers on PyPI

The library pared down the features of diffusers implemented the minimum function to generate images without using huggingface/diffusers functions to understand the inner workings of the library.

Why PareDiffusers?

PareDiffusers was born out of a curiosity and a desire to demystify the processes of generating images by diffusion models and the workings of the diffusers library.

I will write blog-style notebooks understanding how works using a top-down approach. First, generate images using diffusers to understand the overall flow, then gradually replace code with Pytorch code. In the end, we will write the code for the PareDiffusers code that does not include diffusers code.

I hope that it helps others who share a similar interest in the inner workings of image generation.

Versions

  • v0.0.0: After Ch0.0.0, inprement StableDiffusionPipeline.
  • v0.1.2: After Ch0.1.0, imprement DDIMScheduler.
  • v0.2.0: After Ch0.2.0, imprement UNet2DConditionModel.
  • v0.3.1: After Ch0.3.0, imprement AutoencoderKL.

Table of Contents

Ch0.0.0 PareDiffusersPipeline Open In Colab

version: v0.0.0

  • Generate images using diffusers
  • Imprement StableDiffusionPipeline
  • Imprement DDIMScheduler
  • Imprement UNet2DConditionModel
  • Imprement AutoencoderKL

Ch0.0.1 Test parediffusers Open In Colab

  • Test PareDiffusersPipeline by pip install parediffusers.

Ch0.0.2 Play prompt_embeds Open In Colab

  • Play prompt_embeds, make gradation images by using two prompts.

Ch0.1.0: PareDDIMScheduler Open In Colab

version: v0.1.3

  • Imprement images using diffusers
  • Imprement StableDiffusionPipeline
  • Imprement DDIMScheduler
  • Imprement UNet2DConditionModel
  • Imprement AutoencoderKL

Ch0.1.1: Test parediffusers Open In Colab

  • Test PareDiffusersPipeline by pip install parediffusers.

Ch0.2.0: PareUNet2DConditionModel Open In Colab

version: v0.2.0

  • Generate images using diffusers
  • Imprement StableDiffusionPipeline
  • Imprement DDIMScheduler
  • Imprement UNet2DConditionModel
  • Imprement AutoencoderKL

Ch0.2.1: Test parediffusers Open In Colab

  • Test PareDiffusersPipeline by pip install parediffusers.

Ch0.3.0: PareAutoencoderKL Open In Colab

version: v0.3.1

  • Generate images using diffusers
  • Imprement StableDiffusionPipeline
  • Imprement DDIMScheduler
  • Imprement UNet2DConditionModel
  • Imprement AutoencoderKL

Ch0.3.1: Test parediffusers Open In Colab

  • Test PareDiffusersPipeline by pip install parediffusers.

Usage

import torch
from parediffusers import PareDiffusionPipeline

device = torch.device("cuda")
dtype = torch.float16
model_name = "stabilityai/stable-diffusion-2"

pipe = PareDiffusionPipeline.from_pretrained(model_name, device=device, dtype=dtype)
prompt = "painting depicting the sea, sunrise, ship, artstation, 4k, concept art"
image = pipe(prompt)
display(image)

Contribution

I am starting this project to help me understand the code in order to participate in diffusers' OSS. So, I think there may be some mistakes in my explanation, so if you find any, please feel free to correct them via an issue or pull request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

parediffusers-0.3.2.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

parediffusers-0.3.2-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

Details for the file parediffusers-0.3.2.tar.gz.

File metadata

  • Download URL: parediffusers-0.3.2.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.5

File hashes

Hashes for parediffusers-0.3.2.tar.gz
Algorithm Hash digest
SHA256 b36620bcbb4f1b715ec0a84a6cb7556ba4b4c0c69480836b4abae2153cab35f7
MD5 2f5e51e983331add44f252be4dd02a63
BLAKE2b-256 6ca25ca58d685964c2e9f6ca8aff7fbd0b19df3455721242baf257552236b54e

See more details on using hashes here.

File details

Details for the file parediffusers-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: parediffusers-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 29.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.5

File hashes

Hashes for parediffusers-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 de504f46f03e2810da15401f59fbca8e9ec38f9dfa675cf8a17fa7d47c23c85c
MD5 8c7aecc79c30fea2c5b4c2de9872a0c6
BLAKE2b-256 9b4349ec19ae4e4579a67093ef31e8e1d2ab0c6598330b05379a96f489c1fa10

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page