Go to file
Lincoln Stein 4c482fe24a refactor how postprocessors work
- similar call structures for outpainting, outcropping and face restoration modules
- added documentation for outcropping
- post-processing steps now leave a provenance chain (of sorts) in the sd-metadata field:

~~~
scripts/sd-metadata.py outputs/img-samples/curly.942491079.upscale.png
outputs/img-samples/curly.942491079.upscale.png:
 {
    "model": "stable diffusion",
    "model_id": "stable-diffusion-1.4",
    "model_hash": "fe4efff1e174c627256e44ec2991ba279b3816e364b49f9be2abc0b3ff3f8556",
    "app_id": "lstein/stable-diffusion",
    "app_version": "v1.15",
    "image": {
        "height": 512,
        "width": 512,
        "steps": 50,
        "cfg_scale": 7.5,
        "seed": 942491079,
        "prompt": [
            {
                "prompt": "pretty curly-haired redhead woman",
                "weight": 1.0
            }
        ],
        "postprocessing": [
            {
                "tool": "outcrop",
                "dream_command": "!fix \"test-pictures/curly.png\" -s 50 -S 942491079 -W 512 -H 512 -C 7.5 -A k_lms -c top 64 right 64"
            },
            {
                "tool": "gfpgan",
                "dream_command": "!fix \"outputs/img-samples/curly.942491079.outcrop-02.png\" -s 50 -S 942491079 -W 512 -H 512 -C 7.5 -A k_lms -G 0.8"
            },
            {
                "tool": "upscale",
                "dream_command": "!fix \"outputs/img-samples/curly.942491079.gfpgan.png\" -s 50 -S 942491079 -W 512 -H 512 -C 7.5 -A k_lms -U 4.0 0.75"
            }
        ],
        "sampler": "k_lms",
        "variations": [],
        "type": "txt2img"
    }
}
~~~
2022-10-04 22:37:25 -04:00
.dev_scripts Replace --full_precision with --precision that works even if not specified 2022-09-20 17:08:00 -04:00
.github Rename environment files to use default .yml extension 2022-09-28 14:54:48 -04:00
assets fix CompViz assets 2022-09-18 00:13:45 +02:00
backend Merge branch 'development' into development 2022-10-04 20:58:08 -04:00
configs Textual Inversion for M1 2022-09-27 01:39:17 +02:00
data stable diffusion 2022-08-10 16:30:49 +02:00
docker-build Upgrade GFPGAN to Version 1.4 2022-09-24 05:09:45 -04:00
docs refactor how postprocessors work 2022-10-04 22:37:25 -04:00
frontend Merge branch 'development' into development 2022-10-04 20:58:08 -04:00
ldm refactor how postprocessors work 2022-10-04 22:37:25 -04:00
models add configs for training unconditional/class-conditional ldms 2021-12-22 15:57:23 +01:00
notebooks fix(install): update repo/org name in install Notebook 2022-09-26 02:08:06 -04:00
scripts add outcrop postprocessor 2022-10-04 22:37:25 -04:00
server * Counteract recent bit-rot and churn negatively affecting my PR, as per feedback. 2022-09-28 19:47:36 -04:00
static * Changes for PR 2022-10-04 14:37:32 -04:00
tests fix(ci): Cherry-pick new CI to main (#646) 2022-09-17 14:12:14 -04:00
.gitattributes Update .gitattributes 2022-08-29 16:58:41 -05:00
.gitignore Bug Fix Patch 2022-09-21 10:07:43 -04:00
.gitmodules remove src directory, which is gumming up conda installs; addresses issue #77 2022-08-25 10:43:05 -04:00
.prettierrc.yaml change printWidth for markdown files to 80 2022-09-17 02:23:00 +02:00
environment-mac.yml Merge branch 'Any-Winter-4079-Textual_Inversion' of github.com:Any-Winter-4079/InvokeAI into development 2022-10-03 19:43:46 -04:00
environment.yml img2img works with all samplers, inpainting working with ddim & plms 2022-10-02 14:58:21 -04:00
LICENSE added assertion checks for out-of-bound arguments; added various copyright and license agreement files 2022-08-24 09:22:27 -04:00
LICENSE-ModelWeights.txt added assertion checks for out-of-bound arguments; added various copyright and license agreement files 2022-08-24 09:22:27 -04:00
main.py Textual Inversion for M1 2022-09-27 01:39:17 +02:00
mkdocs.yml update mkdocs config 2022-09-18 11:12:45 +02:00
pyproject.toml.hide Fix Mac Issue #723 2022-09-21 13:42:47 -04:00
README.md refactor how postprocessors work 2022-10-04 22:37:25 -04:00
requirements-lin-AMD.txt TOIL(pip): Refactor pip requirements across the board (#531) 2022-09-14 07:01:58 -04:00
requirements-lin-win-colab-CUDA.txt TOIL(pip): Refactor pip requirements across the board (#531) 2022-09-14 07:01:58 -04:00
requirements-linux-arm64.txt update dependencies 2022-09-15 21:07:36 -05:00
requirements-mac-MPS-CPU.txt fix(install): unpinned 'protobuf' breaks macOS installs (#596) 2022-09-16 07:39:23 -04:00
requirements-mkdocs.txt update requirements-mkdocs.txt 2022-09-19 08:38:46 +02:00
requirements.txt Add New WebUI and Desktop Mode 2022-10-03 23:28:53 -04:00
setup.py TOIL(pip): Refactor pip requirements across the board (#531) 2022-09-14 07:01:58 -04:00
Stable_Diffusion_v1_Model_Card.md stable diffusion 2022-08-10 16:30:49 +02:00

InvokeAI: A Stable Diffusion Toolkit

Note: This fork is rapidly evolving. Please use the Issues tab to report bugs and make feature requests. Be sure to use the provided templates. They will help aid diagnose issues faster.

This repository was formally known as lstein/stable-diffusion

Table of Contents

project logo

discord badge

latest release badge github stars badge github forks badge

CI checks on main badge CI checks on dev badge latest commit to dev badge

github open issues badge github open prs badge

This is a fork of CompVis/stable-diffusion, the open source text-to-image generator. It provides a streamlined process with various new features and options to aid the image generation process. It runs on Windows, Mac and Linux machines, and runs on GPU cards with as little as 4 GB or RAM.

Note: This fork is rapidly evolving. Please use the Issues tab to report bugs and make feature requests. Be sure to use the provided templates. They will help aid diagnose issues faster.

Table of Contents

  1. Installation
  2. Hardware Requirements
  3. Features
  4. Latest Changes
  5. Troubleshooting
  6. Contributing
  7. Contributors
  8. Support
  9. Further Reading

Installation

This fork is supported across multiple platforms. You can find individual installation instructions below.

Hardware Requirements

System

You wil need one of the following:

  • An NVIDIA-based graphics card with 4 GB or more VRAM memory.
  • An Apple computer with an M1 chip.

Memory

  • At least 12 GB Main Memory RAM.

Disk

  • At least 6 GB of free disk space for the machine learning model, Python, and all its dependencies.

Note

Precision is auto configured based on the device. If however you encounter errors like 'expected type Float but found Half' or 'not implemented for Half' you can try starting dream.py with the --precision=float32 flag:

(ldm) ~/stable-diffusion$ python scripts/dream.py --precision=float32

Features

Major Features

Other Features

Latest Changes

  • vNEXT (TODO 2022)

    • Deprecated --full_precision / -F. Simply omit it and dream.py will auto configure. To switch away from auto use the new flag like --precision=float32.
  • v1.14 (11 September 2022)

    • Memory optimizations for small-RAM cards. 512x512 now possible on 4 GB GPUs.
    • Full support for Apple hardware with M1 or M2 chips.
    • Add "seamless mode" for circular tiling of image. Generates beautiful effects. (prixt).
    • Inpainting support.
    • Improved web server GUI.
    • Lots of code and documentation cleanups.
  • v1.13 (3 September 2022

    • Support image variations (see VARIATIONS (Kevin Gibbons and many contributors and reviewers)
    • Supports a Google Colab notebook for a standalone server running on Google hardware Arturo Mendivil
    • WebUI supports GFPGAN/ESRGAN facial reconstruction and upscaling Kevin Gibbons
    • WebUI supports incremental display of in-progress images during generation Kevin Gibbons
    • A new configuration file scheme that allows new models (including upcoming stable-diffusion-v1.5) to be added without altering the code. (David Wager)
    • Can specify --grid on dream.py command line as the default.
    • Miscellaneous internal bug and stability fixes.
    • Works on M1 Apple hardware.
    • Multiple bug fixes.

For older changelogs, please visit the CHANGELOG.

Troubleshooting

Please check out our Q&A to get solutions for common installation problems and other issues.

Contributing

Anyone who wishes to contribute to this project, whether documentation, features, bug fixes, code cleanup, testing, or code reviews, is very much encouraged to do so. If you are unfamiliar with how to contribute to GitHub projects, here is a Getting Started Guide.

A full set of contribution guidelines, along with templates, are in progress, but for now the most important thing is to make your pull request against the "development" branch, and not against "main". This will help keep public breakage to a minimum and will allow you to propose more radical changes.

Contributors

This fork is a combined effort of various people from across the world. Check out the list of all these amazing people. We thank them for their time, hard work and effort.

Support

For support, please use this repository's GitHub Issues tracking service. Feel free to send me an email if you use and like the script.

Original portions of the software are Copyright (c) 2020 Lincoln D. Stein

Further Reading

Please see the original README for more information on this software and underlying algorithm, located in the file README-CompViz.md.