AI imagined images. Pythonic generation of stable diffusion images.
Project description
ImaginAIry ๐ค๐ง
AI imagined images. Pythonic generation of stable diffusion images.
"just works" on Linux and OSX(M1).
Examples
>> pip install imaginairy
>> imagine "a scenic landscape" "a photo of a dog" "photo of a fruit bowl" "portrait photo of a freckled woman"
Console Output
๐ค๐ง received 4 prompt(s) and will repeat them 1 times to create 4 images.
Loading model onto mps backend...
Generating ๐ผ : "a scenic landscape" 512x512px seed:557988237 prompt-strength:7.5 steps:40 sampler-type:PLMS
PLMS Sampler: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 40/40 [00:29<00:00, 1.36it/s]
๐ผ saved to: ./outputs/000001_557988237_PLMS40_PS7.5_a_scenic_landscape.jpg
Generating ๐ผ : "a photo of a dog" 512x512px seed:277230171 prompt-strength:7.5 steps:40 sampler-type:PLMS
PLMS Sampler: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 40/40 [00:28<00:00, 1.41it/s]
๐ผ saved to: ./outputs/000002_277230171_PLMS40_PS7.5_a_photo_of_a_dog.jpg
Generating ๐ผ : "photo of a fruit bowl" 512x512px seed:639753980 prompt-strength:7.5 steps:40 sampler-type:PLMS
PLMS Sampler: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 40/40 [00:28<00:00, 1.40it/s]
๐ผ saved to: ./outputs/000003_639753980_PLMS40_PS7.5_photo_of_a_fruit_bowl.jpg
Generating ๐ผ : "portrait photo of a freckled woman" 512x512px seed:500686645 prompt-strength:7.5 steps:40 sampler-type:PLMS
PLMS Sampler: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 40/40 [00:29<00:00, 1.37it/s]
๐ผ saved to: ./outputs/000004_500686645_PLMS40_PS7.5_portrait_photo_of_a_freckled_woman.jpg
Tiled Images
>> imagine "gold coins" "a lush forest" "piles of old books" leaves --tile
Image-to-Image
>> imagine "portrait of a smiling lady. oil painting" --init-image girl_with_a_pearl_earring.jpg
=>
Features
- It makes images from text descriptions! ๐
- Generate images either in code or from command line.
- It just works. Proper requirements are installed. model weights are automatically downloaded. No huggingface account needed. (if you have the right hardware... and aren't on windows)
- Noisy logs are gone (which was surprisingly hard to accomplish)
- WeightedPrompts let you smash together separate prompts (cat-dog)
- Tile Mode creates tileable images
- Prompt metadata saved into image file metadata
How To
from imaginairy import imagine_images, imagine_image_files, ImaginePrompt, WeightedPrompt
prompts = [
ImaginePrompt("a scenic landscape", seed=1),
ImaginePrompt("a bowl of fruit"),
ImaginePrompt([
WeightedPrompt("cat", weight=1),
WeightedPrompt("dog", weight=1),
])
]
for result in imagine_images(prompts):
# do something
result.save("my_image.jpg")
# or
imagine_image_files(prompts, outdir="./my-art")
Requirements
- ~10 gb space for models to download
- A decent computer with either a CUDA supported graphics card or M1 processor.
Improvements from CompVis
- img2img actually does # of steps you specify
- performance optimizations
Models Used
- CLIP - https://openai.com/blog/clip/
- LDM - Latent Diffusion
- Stable Diffusion
Not Supported
- a web interface. this is a python library
Todo
- performance optimizations
- https://github.com/neonsecret/stable-diffusion https://github.com/CompVis/stable-diffusion/pull/177
- โ https://github.com/huggingface/diffusers/blob/main/docs/source/optimization/fp16.mdx
- โ https://github.com/CompVis/stable-diffusion/compare/main...Doggettx:stable-diffusion:autocast-improvements#
- โ https://www.reddit.com/r/StableDiffusion/comments/xalaws/test_update_for_less_memory_usage_and_higher/
- deploy to pypi
- add tests
- set up ci (test/lint/format)
- add docs
- notify https://github.com/CompVis/stable-diffusion/issues/25
- remove yaml config
- delete more unused code
- Interface improvements
- โ init-image at command line
- prompt expansion
- Image Generation Features
- upscaling
- face improvements
- gfpgan - https://github.com/TencentARC/GFPGAN
- codeformer - https://github.com/sczhou/CodeFormer
- image describe feature - https://replicate.com/methexis-inc/img2prompt
- outpainting
- inpainting
- add more sampling methods?
- img2img but keeps img stable
- img2img for plms?
- images as actual prompts instead of just init images
- cross-attention control:
- guided generation https://colab.research.google.com/drive/1dlgggNa5Mz8sEAGU0wFCHhGLFooW_pf1#scrollTo=UDeXQKbPTdZI
- tiling
- output show-work videos
- image variations https://github.com/lstein/stable-diffusion/blob/main/VARIATIONS.md
- textual inversion
- zooming videos? a la disco diffusion
- fix saturation at high CFG https://www.reddit.com/r/StableDiffusion/comments/xalo78/fixing_excessive_contrastsaturation_resulting/
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
imaginAIry-0.7.2-py3-none-any.whl
(67.2 kB
view hashes)
Close
Hashes for imaginAIry-0.7.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53f0946f15ff4ec0a2d4c530d6911f67b225621565bce4b040dc7c170a8122db |
|
MD5 | ff773beeefa87bbd5f66cf0f1a490270 |
|
BLAKE2b-256 | d19dfb123212b31404bbff4ae40ab619f9cd0eef391a97e2af3aa12e76e8ddf1 |