Minimal helpers to run standalone Stable Diffusion experiments
Project description
The min_diffusion library
This library was put together for a series of experiments on Classifier-free Guidance.
Install
pip install min_diffusion
How to use min_diffusion
The library has a single main class
MinimalDiffusion.
This class takes three arguments:
model_namedevicedtype
model_name is the string model name on the HuggingFace hub.
device sets the hardware to run on.
dtype is the torch.dtype precision for the torch modules.
# import the library
from min_diffusion.core import MinimalDiffusion
Loading a sample model
Below is an example to load the openjourney model from PromptHero.
The model will be loaded in torch.float16 precision and placed on the
GPU.
# set the model to load and its options
model_name = 'prompthero/openjourney'
device = 'cuda'
dtype = torch.float32
revision = "fp32"
Creating a
MinimalDiffusion
with these arguments:
# create the minimal diffusion pipeline
pipeline = MinimalDiffusion(model_name, device, dtype, revision)
Loading the pipeline:
# load the pipeline
pipeline.load();
Enabling default unet attention slicing.
Generating an image
Below is an example text prompt for image generation.
Note the keyword
"mdjrny-v4 style"at the start of the prompt. This is how theopenjourneymodel creates images in the style of Midjourney v4.
# text prompt for image generations
prompt = "mdjrny-v4 style a photograph of an astronaut riding a horse"
Calling MinimalDiffusion on the input text prompt
# generate the image
img = pipeline.generate(prompt);
Using the default Classifier-free Guidance.
0%| | 0/50 [00:00<?, ?it/s]
Here is the generated image:
# view the output image
img
Notes:
The pipeline assumes you have logged in to the HuggingFace hub.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file min_diffusion-0.0.3.tar.gz.
File metadata
- Download URL: min_diffusion-0.0.3.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a05ead6610b178ea0d1da1e4661808e9c311c2d7424a80da4e77662203e9994d
|
|
| MD5 |
24fb3630f44b83eeadc22cea72507a45
|
|
| BLAKE2b-256 |
a4f10a9d767f37ba525c3a956bb178b34d6cd0609a9619758b3b7403c576b710
|
File details
Details for the file min_diffusion-0.0.3-py3-none-any.whl.
File metadata
- Download URL: min_diffusion-0.0.3-py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e463c0db7b193a0c77bab3754ab4b30fec8e88b81df773e5a8a6db776a5eb5b
|
|
| MD5 |
0c4cfbd7d718097230edae7496ca501d
|
|
| BLAKE2b-256 |
2db0c3a43c05896d1be7b729f0ef0d14da5877b3db8c30f00130d3aea1baee70
|