Commit Graph

2280 Commits

Author SHA1 Message Date
blessedcoolant
bc0b0e4752
Possible fix for crash introduced in #1948 (#1963)
* Possible fix for crash introduced in #1948

* fix root dir search logic

Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
2022-12-13 01:14:46 -05:00
Lincoln Stein
cd3da2900d
close #1956 (#1962) 2022-12-13 01:12:53 -05:00
blessedcoolant
4402ca10b2
[WebUI 2.2.5] Unified Canvas Alternate UI Beta (#1951)
* Fix Prompt Placeholder Text Color

* Display Model Desc as tooltip in SiteHeader

This'll allow the user to quickly access info like activation token for that model if they set it in the description.

* Unified Canvas UI Beta

* Initial Test Build

* Make Snap Grid Hotkey Accessible Always
2022-12-12 19:36:05 -05:00
Kevin Turner
dea357fd6d Merge remote-tracking branch 'origin/main' into dev/diffusers 2022-12-12 16:18:21 -08:00
Kevin Turner
31fd285c82 generate: fix import error 2022-12-12 16:17:46 -08:00
Kevin Turner
0b48f2e801 fix --safety_checker arg parsing
and add note to diffusers loader about where safety checker gets called
2022-12-12 16:17:10 -08:00
Matthias Wild
1a1625406c
Make Dockerfile cloud ready (tested on runpod) (#1950)
* Push dockerfile (#18)

* update build-container.yml

* add login step to build-container.yml

* update job name

* update matrix: add registry and platforms
also set latest only for cuda image

* quote string

* use latest for amd and cuda image

* separate images for cuda and amd

* change latest from auto to true

* configure_invoke -y instead of --interactive

* fix argument to --yes

* update matrix:
- use flavor instead of pip-requirements
- add flavor `cloud`
- add `dockerfile`

* introduce INVOKE_MODEL_RECONFIGURE

* add `--cap-add=sys_nice` to run.sh

* update Dockerfile: install wheel

* only have main branch in action again

* disable push of cloud image for now
since it still has it's own workflow, but PoC succeeded

* remove now untrue comments in top

* install pip, setuptools and wheel in sep. step

* add labels to the image

* remove doubled installation of wheel
2022-12-12 17:54:42 -05:00
Lincoln Stein
36e6908266
add logic for finding the root (runtime) directory (#1948)
This commit fixes the root search logic to be as follows:

1) The `--root_dir` command line argument
2) The contents of environment variable INVOKEAI_ROOT
3) The VIRTUAL_ENV environment variable, plus '..'
4) $HOME/invokeai

(3) is the new feature. Since we are now recommending to install
InvokeAI and its dependencies into the .venv in the root directory,
this should be a reliable choice.
2022-12-12 15:05:14 -05:00
Kevin Turner
e32b82a480 Merge remote-tracking branch 'origin/main' into dev/diffusers
# Conflicts:
#	ldm/invoke/generator/inpaint.py
#	ldm/invoke/generator/txt2img2img.py
2022-12-12 11:17:25 -08:00
Lincoln Stein
7314f1a862
add --karras_max option to invoke.py command line (#1762)
This addresses image regression image reported in #1754
2022-12-12 13:16:15 -05:00
psychedelicious
5c3cbd05f1
Improves configure_invokeai.py postscript (#1935)
The first few lines directed the user to run `python scripts/invoke.py`, which is not exactly correct anymore, and a holdover from previous versions.

Improves and clarifies the postscript messaging.
2022-12-12 13:13:46 -05:00
rmagur1203
f4e7383490
Load model in inpaint when using free_gpu_mem option (#1938)
* Load model in inpaint when using free_gpu_mem option

* Passing free_gpu_mem option to inpaint generator
2022-12-12 09:14:30 -05:00
rmagur1203
96a12099ed
Fix the mistake of not importing the gc (#1939) 2022-12-12 09:14:09 -05:00
Lincoln Stein
e159bb3dce
update installers for v2.2.4 tag (#1936) 2022-12-11 18:17:45 -05:00
Kevin Turner
1cae089889 Merge remote-tracking branch 'origin/main' into dev/diffusers
# Conflicts:
#	environments-and-requirements/requirements-base.txt
#	ldm/invoke/generator/txt2img.py
#	ldm/invoke/generator/txt2img2img.py
2022-12-11 11:23:52 -08:00
rmagur1203
bd0c0d77d2
Reduce more memories on free_gpu_mem option (#1915)
* Enhance free_gpu_mem option
Unload cond_stage_model on free_gpu_mem option is setted

* Enhance free_gpu_mem option
Unload cond_stage_model on free_gpu_mem option is setted
2022-12-11 13:49:55 -05:00
Lincoln Stein
f745f78cb3
correct bug when trying to enhance JPG images (#1928)
This fix was authored by @mebelz and is reissued here to base it on
`main`.
2022-12-11 13:48:47 -05:00
Lincoln Stein
7efe0f3996
fix mkdocs formatting (#1927)
* fix mkdocs formatting

* update formatting, add some mkdocs specials

* fix wrong line break, use icon for tab key

Co-authored-by: mauwii <Mauwii@outlook.de>
2022-12-11 13:48:34 -05:00
Damian Stewart
9f855a358a
fix for crash with inpainting model introduced by #1866 (#1922)
* fix for crash using inpainting model

* prevent crash due to invalid attention_maps_saver
2022-12-11 13:48:12 -05:00
Matthias Wild
62b80a81d3
Update dockerfile 2.2.4 (#1924)
* updated Dockerfile
- use `python:3.10-slim` as baseimage
- separate builder and runtime stages again
- get rid of uneeded packages
- pin packages for persistence
- remove outdir from entrypoint since invoke.init is available in /data
- shrinked image size to <2GB
- way better security score than before

* small output update to build.sh and run.sh

* update matrix in build-container.yml

* remove branches from build-container.yml
2022-12-11 17:33:54 +01:00
blessedcoolant
14587c9a95 Fresh Frontend Build 2022-12-11 11:19:22 -05:00
blessedcoolant
fcae5defe3 Add invokeai.init to gitignore 2022-12-11 11:19:22 -05:00
Lincoln Stein
e7144055d1 make webGUI model changing work again
- Using relative root addresses was causing problems when the
  current working directory was changed after start time.
- This commit makes the root address absolute at start time, such
  that changing the working directory later on doesn't break anything.
2022-12-11 11:19:22 -05:00
Lincoln Stein
c857c6cc62 rebuild frontend for 2.2.4 2022-12-11 11:19:22 -05:00
Lincoln Stein
7ecb11cf86
remove sampler questions (#1903) 2022-12-11 09:07:55 -05:00
Lincoln Stein
e4b61923ae
fix InvokeAI download URLs (#1910)
- This fixes the .bat and .sh file URLs for the InvokeAI source
  code.
2022-12-11 07:10:17 -05:00
psychedelicious
aa68e4e0da
Adds polyfill for Array.prototype.findLast() (#1909) 2022-12-11 06:54:15 -05:00
blessedcoolant
09365d6d2e
Fix GUI not working (#1916) 2022-12-11 06:53:40 -05:00
AdamOStark
b77f34998c Responsive for devices under 600px
This doesn't not work for the Canvas Painting yet, but works on img2img and text2img
2022-12-11 22:10:46 +13:00
Lincoln Stein
0439b51a26
Simple Installer for Unified Directory Structure, Initial Implementation (#1819)
* partially working simple installer

* works on linux

* fix linux requirements files

* read root environment variable in right place

* fix cat invokeai.init in test workflows

* fix classical cp error in test-invoke-pip.yml

* respect --root argument now

* untested bat installers added

* windows install.bat now working

fix logic to find frontend files

* rename simple_install to "installer"

1. simple_install => 'installer'
2. source and binary install directories are removed

* enable update scripts to update requirements

- Also pin requirements to known working commits.
- This may be a breaking change; exercise with caution
- No functional testing performed yet!

* update docs and installation requirements

NOTE: This may be a breaking commit! Due to the way the installer
works, I have to push to a public branch in order to do full end-to-end
testing.

- Updated installation docs, removing binary and source installers and
  substituting the "simple" unified installer.
- Pin requirements for the "http:" downloads to known working commits.
- Removed as much as possible the invoke-ai forks of others' repos.

* fix directory path for installer

* correct requirement/environment errors

* exclude zip files in .gitignore

* possible fix for dockerbuild

* ready for torture testing

- final Windows bat file tweaks
- copy environments-and-requirements to the runtime directory so that
  the `update.sh` script can run.

  This is not ideal, since we lose control over the
  requirements. Better for the update script to pull the proper
  updated requirements script from the repository.

* allow update.sh/update.bat to install arbitrary InvokeAI versions

- Can pass the zip file path to any InvokeAI release, branch, commit or tag,
  and the installer will try to install it.
- Updated documentation
- Added Linux Python install hints.

* use binary installer's :err_exit function

* user diffusers 0.10.0

* added logic for CPPFLAGS on mac

* improve windows install documentation

- added information on a couple of gotchas I experienced during
  windows installation, including DLL loading errors experienced
  when Visual Studio C++ Redistributable was not present.

* tagged to pull from 2.2.4-rc1

- also fix error of shell window closing immediately if suitable
  python not found

Co-authored-by: mauwii <Mauwii@outlook.de>
2022-12-11 00:37:08 -05:00
Kevin Turner
e89edebef0 Merge remote-tracking branch 'origin/main' into dev/diffusers 2022-12-10 21:19:57 -08:00
Kevin Turner
520c17ab86 diffusers(AddsMaskedGuidance): partial fix for k-schedulers
Prevents them from crashing, but results are still hot garbage.
2022-12-10 21:19:32 -08:00
Kevin Turner
4fa26e82e8 test: add tests/inpainting inputs for masked img2img 2022-12-10 21:14:10 -08:00
Kevin Turner
a31ac57901 fixup import merge conflicts
correction for 061c5369a2
2022-12-10 21:12:42 -08:00
blessedcoolant
ef6870c714 Fix Inpainting Model entry in models.yaml.example 2022-12-10 23:52:24 -05:00
Kevin Turner
cd358c40ad diffusers: stopgap fix for attention_maps_callback crash after recent merge 2022-12-10 19:48:15 -08:00
Kevin Turner
061c5369a2 Merge remote-tracking branch 'origin/main' into dev/diffusers 2022-12-10 19:18:00 -08:00
Damian Stewart
8cbb50c204 avoid further crash under low-memory conditions 2022-12-10 15:32:11 -05:00
blessedcoolant
12a8d7fc14 Fix crash introduced in #1866 2022-12-10 15:32:11 -05:00
Matthias Wild
3d2b497eb0
Run more tests for PRs (#1895)
* run 3 tests for PR with different samplers
reduce tests for PR to do only 5 Iterations

* use correct txt file - delete unused old file
2022-12-10 20:07:14 +01:00
Kevin Turner
63532226a5 Merge remote-tracking branch 'origin/main' into dev/diffusers
# Conflicts:
#	backend/invoke_ai_web_server.py
#	ldm/generate.py
#	ldm/invoke/CLI.py
#	ldm/invoke/generator/base.py
#	ldm/invoke/generator/txt2img.py
#	ldm/models/diffusion/cross_attention_control.py
#	ldm/modules/attention.py
2022-12-10 08:43:37 -08:00
Kevin Turner
66d32b79b7 diffusers: work more better with more models.
fixed relative path problem with local models.

fixed models on hub not always having a `fp16` branch.
2022-12-10 08:29:12 -08:00
Kevin Turner
50c48cffc7 diffusers: make masked img2img behave better with multi-step schedulers
re-randomizing the noise each step was confusing them.
2022-12-10 08:27:46 -08:00
Kevin Turner
1a67836012 diffusers: use xformers when available
diffusers no longer auto-enables this as of 0.10.2.
2022-12-10 08:26:24 -08:00
Damian Stewart
786b8878d6
Save and display per-token attention maps (#1866)
* attention maps saving to /tmp

* tidy up diffusers branch backporting of cross attention refactoring

* base64-encoding the attention maps image for generationResult

* cleanup/refactor conditioning.py

* attention maps and tokens being sent to web UI

* attention maps: restrict count to actual token count and improve robustness

* add argument type hint to image_to_dataURL function

Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com>

Co-authored-by: damian <git@damianstewart.com>
Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com>
2022-12-10 15:57:41 +01:00
Kevin Turner
811dc23efb diffusers: update to 0.10 (and transformers to 4.25) 2022-12-09 10:45:16 -08:00
Kevin Turner
8e2da9a97e CI: default to diffusers-1.5 now that runwayml token requirement is gone 2022-12-09 10:37:55 -08:00
Kevin Turner
a3e41d63ec Merge remote-tracking branch 'origin/main' into dev/diffusers
# Conflicts:
#	.github/workflows/test-invoke-conda.yml
#	.github/workflows/test-invoke-pip.yml
#	environments-and-requirements/requirements-base.txt
2022-12-09 10:34:29 -08:00
Kevin Turner
c28f56daec diffusers(ModelCache): stopgap to make from_cpu compatible with diffusers 2022-12-09 10:23:39 -08:00
Lincoln Stein
55132f6463 pin diffusers to 0.9.0 2022-12-09 09:09:22 -05:00