diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index f9aa033d30..a14c123008 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -4,180 +4,275 @@ title: Changelog # :octicons-log-16: **Changelog** +## v2.2.4 (11 December 2022) + +**the `invokeai` directory** + +Previously there were two directories to worry about, the directory that +contained the InvokeAI source code and the launcher scripts, and the `invokeai` +directory that contained the models files, embeddings, configuration and +outputs. With the 2.2.4 release, this dual system is done away with, and +everything, including the `invoke.bat` and `invoke.sh` launcher scripts, now +live in a directory named `invokeai`. By default this directory is located in +your home directory (e.g. `\Users\yourname` on Windows), but you can select +where it goes at install time. + +After installation, you can delete the install directory (the one that the zip +file creates when it unpacks). Do **not** delete or move the `invokeai` +directory! + +**Initialization file `invokeai/invokeai.init`** + +You can place frequently-used startup options in this file, such as the default +number of steps or your preferred sampler. To keep everything in one place, this +file has now been moved into the `invokeai` directory and is named +`invokeai.init`. + +**To update from Version 2.2.3** + +The easiest route is to download and unpack one of the 2.2.4 installer files. +When it asks you for the location of the `invokeai` runtime directory, respond +with the path to the directory that contains your 2.2.3 `invokeai`. That is, if +`invokeai` lives at `C:\Users\fred\invokeai`, then answer with `C:\Users\fred` +and answer "Y" when asked if you want to reuse the directory. + +The `update.sh` (`update.bat`) script that came with the 2.2.3 source installer +does not know about the new directory layout and won't be fully functional. + +**To update to 2.2.5 (and beyond) there's now an update path** + +As they become available, you can update to more recent versions of InvokeAI +using an `update.sh` (`update.bat`) script located in the `invokeai` directory. +Running it without any arguments will install the most recent version of +InvokeAI. Alternatively, you can get set releases by running the `update.sh` +script with an argument in the command shell. This syntax accepts the path to +the desired release's zip file, which you can find by clicking on the green +"Code" button on this repository's home page. + +**Other 2.2.4 Improvements** + +- Fix InvokeAI GUI initialization by @addianto in #1687 +- fix link in documentation by @lstein in #1728 +- Fix broken link by @ShawnZhong in #1736 +- Remove reference to binary installer by @lstein in #1731 +- documentation fixes for 2.2.3 by @lstein in #1740 +- Modify installer links to point closer to the source installer by @ebr in + #1745 +- add documentation warning about 1650/60 cards by @lstein in #1753 +- Fix Linux source URL in installation docs by @andybearman in #1756 +- Make install instructions discoverable in readme by @damian0815 in #1752 +- typo fix by @ofirkris in #1755 +- Non-interactive model download (support HUGGINGFACE_TOKEN) by @ebr in #1578 +- fix(srcinstall): shell installer - cp scripts instead of linking by @tildebyte + in #1765 +- stability and usage improvements to binary & source installers by @lstein in + #1760 +- fix off-by-one bug in cross-attention-control by @damian0815 in #1774 +- Eventually update APP_VERSION to 2.2.3 by @spezialspezial in #1768 +- invoke script cds to its location before running by @lstein in #1805 +- Make PaperCut and VoxelArt models load again by @lstein in #1730 +- Fix --embedding_directory / --embedding_path not working by @blessedcoolant in + #1817 +- Clean up readme by @hipsterusername in #1820 +- Optimized Docker build with support for external working directory by @ebr in + #1544 +- disable pushing the cloud container by @mauwii in #1831 +- Fix docker push github action and expand with additional metadata by @ebr in + #1837 +- Fix Broken Link To Notebook by @VedantMadane in #1821 +- Account for flat models by @spezialspezial in #1766 +- Update invoke.bat.in isolate environment variables by @lynnewu in #1833 +- Arch Linux Specific PatchMatch Instructions & fixing conda install on linux by + @SammCheese in #1848 +- Make force free GPU memory work in img2img by @addianto in #1844 +- New installer by @lstein + +## v2.2.3 (2 December 2022) + +!!! Note + + This point release removes references to the binary installer from the + installation guide. The binary installer is not stable at the current + time. First time users are encouraged to use the "source" installer as + described in [Installing InvokeAI with the Source Installer](installation/INSTALL_SOURCE.md) + +With InvokeAI 2.2, this project now provides enthusiasts and professionals a +robust workflow solution for creating AI-generated and human facilitated +compositions. Additional enhancements have been made as well, improving safety, +ease of use, and installation. + +Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a +512x768 image (and less for smaller images), and is compatible with +Windows/Linux/Mac (M1 & M2). + +You can see the [release video](https://youtu.be/hIYBfDtKaus) here, which +introduces the main WebUI enhancement for version 2.2 - +[The Unified Canvas](features/UNIFIED_CANVAS.md). This new workflow is the +biggest enhancement added to the WebUI to date, and unlocks a stunning amount of +potential for users to create and iterate on their creations. The following +sections describe what's new for InvokeAI. + +## v2.2.2 (30 November 2022) + +!!! note + + The binary installer is not ready for prime time. First time users are recommended to install via the "source" installer accessible through the links at the bottom of this page.**** + +With InvokeAI 2.2, this project now provides enthusiasts and professionals a +robust workflow solution for creating AI-generated and human facilitated +compositions. Additional enhancements have been made as well, improving safety, +ease of use, and installation. + +Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a +512x768 image (and less for smaller images), and is compatible with +Windows/Linux/Mac (M1 & M2). + +You can see the [release video](https://youtu.be/hIYBfDtKaus) here, which +introduces the main WebUI enhancement for version 2.2 - +[The Unified Canvas](https://invoke-ai.github.io/InvokeAI/features/UNIFIED_CANVAS/). +This new workflow is the biggest enhancement added to the WebUI to date, and +unlocks a stunning amount of potential for users to create and iterate on their +creations. The following sections describe what's new for InvokeAI. + +## v2.2.0 (2 December 2022) + +With InvokeAI 2.2, this project now provides enthusiasts and professionals a +robust workflow solution for creating AI-generated and human facilitated +compositions. Additional enhancements have been made as well, improving safety, +ease of use, and installation. + +Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a +512x768 image (and less for smaller images), and is compatible with +Windows/Linux/Mac (M1 & M2). + +You can see the [release video](https://youtu.be/hIYBfDtKaus) here, which +introduces the main WebUI enhancement for version 2.2 - +[The Unified Canvas](features/UNIFIED_CANVAS.md). This new workflow is the +biggest enhancement added to the WebUI to date, and unlocks a stunning amount of +potential for users to create and iterate on their creations. The following +sections describe what's new for InvokeAI. + +## v2.1.3 (13 November 2022) + +- A choice of installer scripts that automate installation and configuration. + See + [Installation](installation/index.md). +- A streamlined manual installation process that works for both Conda and + PIP-only installs. See + [Manual Installation](installation/INSTALL_MANUAL.md). +- The ability to save frequently-used startup options (model to load, steps, + sampler, etc) in a `.invokeai` file. See + [Client](features/CLI.md) +- Support for AMD GPU cards (non-CUDA) on Linux machines. +- Multiple bugs and edge cases squashed. + ## v2.1.0 (2 November 2022) -- update mac instructions to use invokeai for env name by @willwillems in - https://github.com/invoke-ai/InvokeAI/pull/1030 -- Update .gitignore by @blessedcoolant in - https://github.com/invoke-ai/InvokeAI/pull/1040 -- reintroduce fix for m1 from https://github.com/invoke-ai/InvokeAI/pull/579 - missing after merge by @skurovec in - https://github.com/invoke-ai/InvokeAI/pull/1056 -- Update Stable_Diffusion_AI_Notebook.ipynb (Take 2) by @ChloeL19 in - https://github.com/invoke-ai/InvokeAI/pull/1060 -- Print out the device type which is used by @manzke in - https://github.com/invoke-ai/InvokeAI/pull/1073 -- Hires Addition by @hipsterusername in - https://github.com/invoke-ai/InvokeAI/pull/1063 +- update mac instructions to use invokeai for env name by @willwillems in #1030 +- Update .gitignore by @blessedcoolant in #1040 +- reintroduce fix for m1 from #579 missing after merge by @skurovec in #1056 +- Update Stable_Diffusion_AI_Notebook.ipynb (Take 2) by @ChloeL19 in #1060 +- Print out the device type which is used by @manzke in #1073 +- Hires Addition by @hipsterusername in #1063 - fix for "1 leaked semaphore objects to clean up at shutdown" on M1 by - @skurovec in https://github.com/invoke-ai/InvokeAI/pull/1081 + @skurovec in #1081 - Forward dream.py to invoke.py using the same interpreter, add deprecation - warning by @db3000 in https://github.com/invoke-ai/InvokeAI/pull/1077 -- fix noisy images at high step counts by @lstein in - https://github.com/invoke-ai/InvokeAI/pull/1086 -- Generalize facetool strength argument by @db3000 in - https://github.com/invoke-ai/InvokeAI/pull/1078 + warning by @db3000 in #1077 +- fix noisy images at high step counts by @lstein in #1086 +- Generalize facetool strength argument by @db3000 in #1078 - Enable fast switching among models at the invoke> command line by @lstein in - https://github.com/invoke-ai/InvokeAI/pull/1066 -- Fix Typo, committed changing ldm environment to invokeai by @jdries3 in - https://github.com/invoke-ai/InvokeAI/pull/1095 -- Update generate.py by @unreleased in - https://github.com/invoke-ai/InvokeAI/pull/1109 -- Update 'ldm' env to 'invokeai' in troubleshooting steps by @19wolf in - https://github.com/invoke-ai/InvokeAI/pull/1125 -- Fixed documentation typos and resolved merge conflicts by @rupeshs in - https://github.com/invoke-ai/InvokeAI/pull/1123 -- Fix broken doc links, fix malaprop in the project subtitle by @majick in - https://github.com/invoke-ai/InvokeAI/pull/1131 -- Only output facetool parameters if enhancing faces by @db3000 in - https://github.com/invoke-ai/InvokeAI/pull/1119 + #1066 +- Fix Typo, committed changing ldm environment to invokeai by @jdries3 in #1095 +- Update generate.py by @unreleased in #1109 +- Update 'ldm' env to 'invokeai' in troubleshooting steps by @19wolf in #1125 +- Fixed documentation typos and resolved merge conflicts by @rupeshs in #1123 +- Fix broken doc links, fix malaprop in the project subtitle by @majick in #1131 +- Only output facetool parameters if enhancing faces by @db3000 in #1119 - Update gitignore to ignore codeformer weights at new location by - @spezialspezial in https://github.com/invoke-ai/InvokeAI/pull/1136 -- fix links to point to invoke-ai.github.io #1117 by @mauwii in - https://github.com/invoke-ai/InvokeAI/pull/1143 -- Rework-mkdocs by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/1144 + @spezialspezial in #1136 +- fix links to point to invoke-ai.github.io #1117 by @mauwii in #1143 +- Rework-mkdocs by @mauwii in #1144 - add option to CLI and pngwriter that allows user to set PNG compression level - by @lstein in https://github.com/invoke-ai/InvokeAI/pull/1127 -- Fix img2img DDIM index out of bound by @wfng92 in - https://github.com/invoke-ai/InvokeAI/pull/1137 -- Fix gh actions by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/1128 -- update mac instructions to use invokeai for env name by @willwillems in - https://github.com/invoke-ai/InvokeAI/pull/1030 -- Update .gitignore by @blessedcoolant in - https://github.com/invoke-ai/InvokeAI/pull/1040 -- reintroduce fix for m1 from https://github.com/invoke-ai/InvokeAI/pull/579 - missing after merge by @skurovec in - https://github.com/invoke-ai/InvokeAI/pull/1056 -- Update Stable_Diffusion_AI_Notebook.ipynb (Take 2) by @ChloeL19 in - https://github.com/invoke-ai/InvokeAI/pull/1060 -- Print out the device type which is used by @manzke in - https://github.com/invoke-ai/InvokeAI/pull/1073 -- Hires Addition by @hipsterusername in - https://github.com/invoke-ai/InvokeAI/pull/1063 + by @lstein in #1127 +- Fix img2img DDIM index out of bound by @wfng92 in #1137 +- Fix gh actions by @mauwii in #1128 +- update mac instructions to use invokeai for env name by @willwillems in #1030 +- Update .gitignore by @blessedcoolant in #1040 +- reintroduce fix for m1 from #579 missing after merge by @skurovec in #1056 +- Update Stable_Diffusion_AI_Notebook.ipynb (Take 2) by @ChloeL19 in #1060 +- Print out the device type which is used by @manzke in #1073 +- Hires Addition by @hipsterusername in #1063 - fix for "1 leaked semaphore objects to clean up at shutdown" on M1 by - @skurovec in https://github.com/invoke-ai/InvokeAI/pull/1081 + @skurovec in #1081 - Forward dream.py to invoke.py using the same interpreter, add deprecation - warning by @db3000 in https://github.com/invoke-ai/InvokeAI/pull/1077 -- fix noisy images at high step counts by @lstein in - https://github.com/invoke-ai/InvokeAI/pull/1086 -- Generalize facetool strength argument by @db3000 in - https://github.com/invoke-ai/InvokeAI/pull/1078 + warning by @db3000 in #1077 +- fix noisy images at high step counts by @lstein in #1086 +- Generalize facetool strength argument by @db3000 in #1078 - Enable fast switching among models at the invoke> command line by @lstein in - https://github.com/invoke-ai/InvokeAI/pull/1066 -- Fix Typo, committed changing ldm environment to invokeai by @jdries3 in - https://github.com/invoke-ai/InvokeAI/pull/1095 -- Fixed documentation typos and resolved merge conflicts by @rupeshs in - https://github.com/invoke-ai/InvokeAI/pull/1123 -- Only output facetool parameters if enhancing faces by @db3000 in - https://github.com/invoke-ai/InvokeAI/pull/1119 + #1066 +- Fix Typo, committed changing ldm environment to invokeai by @jdries3 in #1095 +- Fixed documentation typos and resolved merge conflicts by @rupeshs in #1123 +- Only output facetool parameters if enhancing faces by @db3000 in #1119 - add option to CLI and pngwriter that allows user to set PNG compression level - by @lstein in https://github.com/invoke-ai/InvokeAI/pull/1127 -- Fix img2img DDIM index out of bound by @wfng92 in - https://github.com/invoke-ai/InvokeAI/pull/1137 -- Add text prompt to inpaint mask support by @lstein in - https://github.com/invoke-ai/InvokeAI/pull/1133 + by @lstein in #1127 +- Fix img2img DDIM index out of bound by @wfng92 in #1137 +- Add text prompt to inpaint mask support by @lstein in #1133 - Respect http[s] protocol when making socket.io middleware by @damian0815 in - https://github.com/invoke-ai/InvokeAI/pull/976 -- WebUI: Adds Codeformer support by @psychedelicious in - https://github.com/invoke-ai/InvokeAI/pull/1151 -- Skips normalizing prompts for web UI metadata by @psychedelicious in - https://github.com/invoke-ai/InvokeAI/pull/1165 -- Add Asymmetric Tiling by @carson-katri in - https://github.com/invoke-ai/InvokeAI/pull/1132 -- Web UI: Increases max CFG Scale to 200 by @psychedelicious in - https://github.com/invoke-ai/InvokeAI/pull/1172 + #976 +- WebUI: Adds Codeformer support by @psychedelicious in #1151 +- Skips normalizing prompts for web UI metadata by @psychedelicious in #1165 +- Add Asymmetric Tiling by @carson-katri in #1132 +- Web UI: Increases max CFG Scale to 200 by @psychedelicious in #1172 - Corrects color channels in face restoration; Fixes #1167 by @psychedelicious - in https://github.com/invoke-ai/InvokeAI/pull/1175 + in #1175 - Flips channels using array slicing instead of using OpenCV by @psychedelicious - in https://github.com/invoke-ai/InvokeAI/pull/1178 -- Fix typo in docs: s/Formally/Formerly by @noodlebox in - https://github.com/invoke-ai/InvokeAI/pull/1176 -- fix clipseg loading problems by @lstein in - https://github.com/invoke-ai/InvokeAI/pull/1177 -- Correct color channels in upscale using array slicing by @wfng92 in - https://github.com/invoke-ai/InvokeAI/pull/1181 + in #1178 +- Fix typo in docs: s/Formally/Formerly by @noodlebox in #1176 +- fix clipseg loading problems by @lstein in #1177 +- Correct color channels in upscale using array slicing by @wfng92 in #1181 - Web UI: Filters existing images when adding new images; Fixes #1085 by - @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/1171 -- fix a number of bugs in textual inversion by @lstein in - https://github.com/invoke-ai/InvokeAI/pull/1190 -- Improve !fetch, add !replay command by @ArDiouscuros in - https://github.com/invoke-ai/InvokeAI/pull/882 -- Fix generation of image with s>1000 by @holstvoogd in - https://github.com/invoke-ai/InvokeAI/pull/951 -- Web UI: Gallery improvements by @psychedelicious in - https://github.com/invoke-ai/InvokeAI/pull/1198 -- Update CLI.md by @krummrey in https://github.com/invoke-ai/InvokeAI/pull/1211 -- outcropping improvements by @lstein in - https://github.com/invoke-ai/InvokeAI/pull/1207 -- add support for loading VAE autoencoders by @lstein in - https://github.com/invoke-ai/InvokeAI/pull/1216 -- remove duplicate fix_func for MPS by @wfng92 in - https://github.com/invoke-ai/InvokeAI/pull/1210 -- Metadata storage and retrieval fixes by @lstein in - https://github.com/invoke-ai/InvokeAI/pull/1204 -- nix: add shell.nix file by @Cloudef in - https://github.com/invoke-ai/InvokeAI/pull/1170 -- Web UI: Changes vite dist asset paths to relative by @psychedelicious in - https://github.com/invoke-ai/InvokeAI/pull/1185 -- Web UI: Removes isDisabled from PromptInput by @psychedelicious in - https://github.com/invoke-ai/InvokeAI/pull/1187 + @psychedelicious in #1171 +- fix a number of bugs in textual inversion by @lstein in #1190 +- Improve !fetch, add !replay command by @ArDiouscuros in #882 +- Fix generation of image with s>1000 by @holstvoogd in #951 +- Web UI: Gallery improvements by @psychedelicious in #1198 +- Update CLI.md by @krummrey in #1211 +- outcropping improvements by @lstein in #1207 +- add support for loading VAE autoencoders by @lstein in #1216 +- remove duplicate fix_func for MPS by @wfng92 in #1210 +- Metadata storage and retrieval fixes by @lstein in #1204 +- nix: add shell.nix file by @Cloudef in #1170 +- Web UI: Changes vite dist asset paths to relative by @psychedelicious in #1185 +- Web UI: Removes isDisabled from PromptInput by @psychedelicious in #1187 - Allow user to generate images with initial noise as on M1 / mps system by - @ArDiouscuros in https://github.com/invoke-ai/InvokeAI/pull/981 -- feat: adding filename format template by @plucked in - https://github.com/invoke-ai/InvokeAI/pull/968 -- Web UI: Fixes broken bundle by @psychedelicious in - https://github.com/invoke-ai/InvokeAI/pull/1242 -- Support runwayML custom inpainting model by @lstein in - https://github.com/invoke-ai/InvokeAI/pull/1243 -- Update IMG2IMG.md by @talitore in - https://github.com/invoke-ai/InvokeAI/pull/1262 + @ArDiouscuros in #981 +- feat: adding filename format template by @plucked in #968 +- Web UI: Fixes broken bundle by @psychedelicious in #1242 +- Support runwayML custom inpainting model by @lstein in #1243 +- Update IMG2IMG.md by @talitore in #1262 - New dockerfile - including a build- and a run- script as well as a GH-Action - by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/1233 + by @mauwii in #1233 - cut over from karras to model noise schedule for higher steps by @lstein in - https://github.com/invoke-ai/InvokeAI/pull/1222 -- Prompt tweaks by @lstein in https://github.com/invoke-ai/InvokeAI/pull/1268 -- Outpainting implementation by @Kyle0654 in - https://github.com/invoke-ai/InvokeAI/pull/1251 -- fixing aspect ratio on hires by @tjennings in - https://github.com/invoke-ai/InvokeAI/pull/1249 -- Fix-build-container-action by @mauwii in - https://github.com/invoke-ai/InvokeAI/pull/1274 -- handle all unicode characters by @damian0815 in - https://github.com/invoke-ai/InvokeAI/pull/1276 -- adds models.user.yml to .gitignore by @JakeHL in - https://github.com/invoke-ai/InvokeAI/pull/1281 -- remove debug branch, set fail-fast to false by @mauwii in - https://github.com/invoke-ai/InvokeAI/pull/1284 -- Protect-secrets-on-pr by @mauwii in - https://github.com/invoke-ai/InvokeAI/pull/1285 -- Web UI: Adds initial inpainting implementation by @psychedelicious in - https://github.com/invoke-ai/InvokeAI/pull/1225 -- fix environment-mac.yml - tested on x64 and arm64 by @mauwii in - https://github.com/invoke-ai/InvokeAI/pull/1289 -- Use proper authentication to download model by @mauwii in - https://github.com/invoke-ai/InvokeAI/pull/1287 -- Prevent indexing error for mode RGB by @spezialspezial in - https://github.com/invoke-ai/InvokeAI/pull/1294 + #1222 +- Prompt tweaks by @lstein in #1268 +- Outpainting implementation by @Kyle0654 in #1251 +- fixing aspect ratio on hires by @tjennings in #1249 +- Fix-build-container-action by @mauwii in #1274 +- handle all unicode characters by @damian0815 in #1276 +- adds models.user.yml to .gitignore by @JakeHL in #1281 +- remove debug branch, set fail-fast to false by @mauwii in #1284 +- Protect-secrets-on-pr by @mauwii in #1285 +- Web UI: Adds initial inpainting implementation by @psychedelicious in #1225 +- fix environment-mac.yml - tested on x64 and arm64 by @mauwii in #1289 +- Use proper authentication to download model by @mauwii in #1287 +- Prevent indexing error for mode RGB by @spezialspezial in #1294 - Integrate sd-v1-5 model into test matrix (easily expandable), remove - unecesarry caches by @mauwii in - https://github.com/invoke-ai/InvokeAI/pull/1293 -- add --no-interactive to configure_invokeai step by @mauwii in - https://github.com/invoke-ai/InvokeAI/pull/1302 + unecesarry caches by @mauwii in #1293 +- add --no-interactive to configure_invokeai step by @mauwii in #1302 - 1-click installer and updater. Uses micromamba to install git and conda into a contained environment (if necessary) before running the normal installation - script by @cmdr2 in https://github.com/invoke-ai/InvokeAI/pull/1253 -- configure_invokeai.py script downloads the weight files by @lstein in - https://github.com/invoke-ai/InvokeAI/pull/1290 + script by @cmdr2 in #1253 +- configure_invokeai.py script downloads the weight files by @lstein in #1290 ## v2.0.1 (13 October 2022) diff --git a/docs/index.md b/docs/index.md index a5a217ac26..1ad2d2b66d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -6,15 +6,14 @@ title: Home The Docs you find here (/docs/*) are built and deployed via mkdocs. If you want to run a local version to verify your changes, it's as simple as:: ```bash - pip install -r requirements-mkdocs.txt + pip install -r docs/requirements-mkdocs.txt mkdocs serve ``` --> +
-# ^^**InvokeAI: A Stable Diffusion Toolkit**^^ :tools:
Formerly known as lstein/stable-diffusion - -[![project logo](assets/logo.png)](https://github.com/invoke-ai/InvokeAI) +[![project logo](assets/invoke_ai_banner.png)](https://github.com/invoke-ai/InvokeAI) [![discord badge]][discord link] @@ -70,7 +69,11 @@ image-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. -**Quick links**: [Discord Server] [Code and Downloads] [Bug Reports] [Discussion, Ideas & Q&A] +**Quick links**: [Discord Server] +[Code and Downloads] [Bug Reports] [Discussion, Ideas & +Q&A]
@@ -80,20 +83,19 @@ Mac and Linux machines, and runs on GPU cards with as little as 4 GB or RAM. ## :octicons-package-dependencies-24: Installation -This fork is supported across Linux, Windows and Macintosh. Linux -users can use either an Nvidia-based card (with CUDA support) or an -AMD card (using the ROCm driver). +This fork is supported across Linux, Windows and Macintosh. Linux users can use +either an Nvidia-based card (with CUDA support) or an AMD card (using the ROCm +driver). -First time users, please see [Automated -Installer](installation/INSTALL_AUTOMATED.md) for a walkthrough of -getting InvokeAI up and running on your system. For alternative -installation and upgrade instructions, please see: [InvokeAI -Installation Overview](installation/) +First time users, please see +[Automated Installer](installation/INSTALL_AUTOMATED.md) for a walkthrough of +getting InvokeAI up and running on your system. For alternative installation and +upgrade instructions, please see: +[InvokeAI Installation Overview](installation/) -Linux users who wish to make use of the PyPatchMatch inpainting -functions will need to perform a bit of extra work to enable this -module. Instructions can be found at [Installing -PyPatchMatch](installation/INSTALL_PATCHMATCH.md). +Linux users who wish to make use of the PyPatchMatch inpainting functions will +need to perform a bit of extra work to enable this module. Instructions can be +found at [Installing PyPatchMatch](installation/INSTALL_PATCHMATCH.md). ## :fontawesome-solid-computer: Hardware Requirements @@ -102,12 +104,13 @@ PyPatchMatch](installation/INSTALL_PATCHMATCH.md). You wil need one of the following: - :simple-nvidia: An NVIDIA-based graphics card with 4 GB or more VRAM memory. -- :simple-amd: An AMD-based graphics card with 4 GB or more VRAM memory (Linux only) +- :simple-amd: An AMD-based graphics card with 4 GB or more VRAM memory (Linux + only) - :fontawesome-brands-apple: An Apple computer with an M1 chip. -We do **not recommend** the following video cards due to issues with -their running in half-precision mode and having insufficient VRAM to -render 512x512 images in full-precision mode: +We do **not recommend** the following video cards due to issues with their +running in half-precision mode and having insufficient VRAM to render 512x512 +images in full-precision mode: - NVIDIA 10xx series cards such as the 1080ti - GTX 1650 series cards @@ -131,6 +134,7 @@ render 512x512 images in full-precision mode: ```bash (invokeai) ~/InvokeAI$ python scripts/invoke.py --full_precision ``` + ## :octicons-gift-24: InvokeAI Features - [The InvokeAI Web Interface](features/WEB.md) @@ -155,99 +159,91 @@ render 512x512 images in full-precision mode: ## :octicons-log-16: Latest Changes -### v2.1.3 (13 November 2022) +### v2.2.4 (11 December 2022) -- A choice of installer scripts that automate installation and configuration. See [Installation](https://github.com/invoke-ai/InvokeAI/blob/2.1.3-rc6/docs/installation/INSTALL.md). -- A streamlined manual installation process that works for both Conda and PIP-only installs. See [Manual Installation](https://github.com/invoke-ai/InvokeAI/blob/2.1.3-rc6/docs/installation/INSTALL_MANUAL.md). -- The ability to save frequently-used startup options (model to load, steps, sampler, etc) in a `.invokeai` file. See [Client](https://github.com/invoke-ai/InvokeAI/blob/2.1.3-rc6/docs/features/CLI.md) -- Support for AMD GPU cards (non-CUDA) on Linux machines. -- Multiple bugs and edge cases squashed. +#### the `invokeai` directory -### v2.1.0 (2 November 2022) +Previously there were two directories to worry about, the directory that +contained the InvokeAI source code and the launcher scripts, and the `invokeai` +directory that contained the models files, embeddings, configuration and +outputs. With the 2.2.4 release, this dual system is done away with, and +everything, including the `invoke.bat` and `invoke.sh` launcher scripts, now +live in a directory named `invokeai`. By default this directory is located in +your home directory (e.g. `\Users\yourname` on Windows), but you can select +where it goes at install time. -- [Inpainting](https://invoke-ai.github.io/InvokeAI/features/INPAINTING/) - support in the WebGUI -- Greatly improved navigation and user experience in the - [WebGUI](https://invoke-ai.github.io/InvokeAI/features/WEB/) -- The prompt syntax has been enhanced with - [prompt weighting, cross-attention and prompt merging](https://invoke-ai.github.io/InvokeAI/features/PROMPTS/). -- You can now load - [multiple models and switch among them quickly](https://docs.google.com/presentation/d/1WywGA1rny7bpFh7CLSdTr4nNpVKdlUeT0Bj0jCsILyU/edit?usp=sharing) - without leaving the CLI. -- The installation process (via `scripts/configure_invokeai.py`) now lets you select - among several popular - [Stable Diffusion models](https://invoke-ai.github.io/InvokeAI/installation/INSTALLING_MODELS/) - and downloads and installs them on your behalf. Among other models, this - script will install the current Stable Diffusion 1.5 model as well as a - StabilityAI variable autoencoder (VAE) which improves face generation. -- Tired of struggling with photoeditors to get the masked region of for - inpainting just right? Let the AI make the mask for you using - [text masking](https://docs.google.com/presentation/d/1pWoY510hCVjz0M6X9CBbTznZgW2W5BYNKrmZm7B45q8/edit#slide=id.p). - This feature allows you to specify the part of the image to paint over using - just English-language phrases. -- Tired of seeing the head of your subjects cropped off? Uncrop them in the CLI - with the - [outcrop feature](https://invoke-ai.github.io/InvokeAI/features/OUTPAINTING/#outcrop). -- Tired of seeing your subject's bodies duplicated or mangled when generating - larger-dimension images? Check out the `--hires` option in the CLI, or select - the corresponding toggle in the WebGUI. -- We now support textual inversion and fine-tune .bin styles and subjects from - the Hugging Face archive of - [SD Concepts](https://huggingface.co/sd-concepts-library). Load the .bin file - using the `--embedding_path` option. (The next version will support merging - and loading of multiple simultaneous models). -- ... +After installation, you can delete the install directory (the one that the zip +file creates when it unpacks). Do **not** delete or move the `invokeai` +directory! -### v2.0.1 (13 October 2022) +##### Initialization file `invokeai/invokeai.init` -- fix noisy images at high step count when using k\* samplers -- dream.py script now calls invoke.py module directly rather than via a new - python process (which could break the environment) +You can place frequently-used startup options in this file, such as the default +number of steps or your preferred sampler. To keep everything in one place, this +file has now been moved into the `invokeai` directory and is named +`invokeai.init`. -### v2.0.0 (9 October 2022) +#### To update from Version 2.2.3 -- `dream.py` script renamed `invoke.py`. A `dream.py` script wrapper remains for - backward compatibility. -- Completely new WebGUI - launch with `python3 scripts/invoke.py --web` -- Support for - inpainting - and - outpainting -- img2img runs on all k\* samplers -- Support for - negative - prompts -- Support for CodeFormer face reconstruction -- Support for Textual Inversion on Macintoshes -- Support in both WebGUI and CLI for - post-processing - of previously-generated images using facial reconstruction, ESRGAN - upscaling, outcropping (similar to DALL-E infinite canvas), and "embiggen" - upscaling. See the `!fix` command. -- New `--hires` option on `invoke>` line allows - larger - images to be created without duplicating elements, at the cost of some - performance. -- New `--perlin` and `--threshold` options allow you to add and control - variation during image generation (see - Thresholding - and Perlin Noise Initialization -- Extensive metadata now written into PNG files, allowing reliable regeneration - of images and tweaking of previous settings. -- Command-line completion in `invoke.py` now works on Windows, Linux and Mac - platforms. -- Improved - command-line - completion behavior. New commands added: - - List command-line history with `!history` - - Search command-line history with `!search` - - Clear history with `!clear` -- Deprecated `--full_precision` / `-F`. Simply omit it and `invoke.py` will auto - configure. To switch away from auto use the new flag like - `--precision=float32`. +The easiest route is to download and unpack one of the 2.2.4 installer files. +When it asks you for the location of the `invokeai` runtime directory, respond +with the path to the directory that contains your 2.2.3 `invokeai`. That is, if +`invokeai` lives at `C:\Users\fred\invokeai`, then answer with `C:\Users\fred` +and answer "Y" when asked if you want to reuse the directory. + +The `update.sh` (`update.bat`) script that came with the 2.2.3 source installer +does not know about the new directory layout and won't be fully functional. + +#### To update to 2.2.5 (and beyond) there's now an update path. + +As they become available, you can update to more recent versions of InvokeAI +using an `update.sh` (`update.bat`) script located in the `invokeai` directory. +Running it without any arguments will install the most recent version of +InvokeAI. Alternatively, you can get set releases by running the `update.sh` +script with an argument in the command shell. This syntax accepts the path to +the desired release's zip file, which you can find by clicking on the green +"Code" button on this repository's home page. + +#### Other 2.2.4 Improvements + +- Fix InvokeAI GUI initialization by @addianto in #1687 +- fix link in documentation by @lstein in #1728 +- Fix broken link by @ShawnZhong in #1736 +- Remove reference to binary installer by @lstein in #1731 +- documentation fixes for 2.2.3 by @lstein in #1740 +- Modify installer links to point closer to the source installer by @ebr in + #1745 +- add documentation warning about 1650/60 cards by @lstein in #1753 +- Fix Linux source URL in installation docs by @andybearman in #1756 +- Make install instructions discoverable in readme by @damian0815 in #1752 +- typo fix by @ofirkris in #1755 +- Non-interactive model download (support HUGGINGFACE_TOKEN) by @ebr in #1578 +- fix(srcinstall): shell installer - cp scripts instead of linking by @tildebyte + in #1765 +- stability and usage improvements to binary & source installers by @lstein in + #1760 +- fix off-by-one bug in cross-attention-control by @damian0815 in #1774 +- Eventually update APP_VERSION to 2.2.3 by @spezialspezial in #1768 +- invoke script cds to its location before running by @lstein in #1805 +- Make PaperCut and VoxelArt models load again by @lstein in #1730 +- Fix --embedding_directory / --embedding_path not working by @blessedcoolant in + #1817 +- Clean up readme by @hipsterusername in #1820 +- Optimized Docker build with support for external working directory by @ebr in + #1544 +- disable pushing the cloud container by @mauwii in #1831 +- Fix docker push github action and expand with additional metadata by @ebr in + #1837 +- Fix Broken Link To Notebook by @VedantMadane in #1821 +- Account for flat models by @spezialspezial in #1766 +- Update invoke.bat.in isolate environment variables by @lynnewu in #1833 +- Arch Linux Specific PatchMatch Instructions & fixing conda install on linux by + @SammCheese in #1848 +- Make force free GPU memory work in img2img by @addianto in #1844 +- New installer by @lstein For older changelogs, please visit the -**[CHANGELOG](CHANGELOG/#v114-11-september-2022)**. +**[CHANGELOG](CHANGELOG/#v223-2-december-2022)**. ## :material-target: Troubleshooting