Commit Graph

2280 Commits

Author SHA1 Message Date
Kevin Turner
bc515e243b Merge remote-tracking branch 'origin/main' into dev/diffusers
# Conflicts:
#	environments-and-requirements/environment-lin-amd.yml
#	environments-and-requirements/environment-lin-cuda.yml
#	environments-and-requirements/environment-win-cuda.yml
#	environments-and-requirements/requirements-base.txt
#	ldm/invoke/generator/img2img.py
#	ldm/invoke/generator/inpaint.py
#	ldm/invoke/generator/txt2img2img.py
2022-12-16 11:11:26 -08:00
Lincoln Stein
f1748d7017
avoid leaking data to HuggingFace (#2021)
Before making a concept download request to HuggingFace, the concepts
library module now checks the concept name against a downloaded list
of all the concepts currently known to HuggingFace.  If the requested
concept is not on the list, then no download request is made.
2022-12-16 16:50:02 +00:00
Lincoln Stein
de7abce464
add an argument that lets user specify folders to scan for weights (#1977)
* add an argument that lets user specify folders to scan for weights

This PR adds a `--weight_folders` argument to invoke.py. Using
argparse, it adds a "weight_folders" attribute to the Args object, and
can be used like this:

```
'''test.py'''
from ldm.invoke.args import Args

args = Args().parse_args()

for folder in args.weight_folders:
    print(folder)
```

Example output:

```
python test.py --weight_folders /tmp/weights /home/fred/invokeai/weights "./my folder with spaces/weight files"
/tmp/weights
/home/fred/invokeai/weights
./my folder with spaces/weight files
```

* change --weight_folders to --weight_dirs
2022-12-16 15:14:49 +00:00
Damian Stewart
87b60582bd re-enable the embedding manager; closes #1778 2022-12-16 14:10:16 +01:00
Kaspar Emanuel
2aa5bb6aad
Auto-format frontend (#2009)
* Auto-format frontend

* Update lint-frontend GA workflow node and checkout

* Fix linter error in ThemeChanger

* Add a `on: pull_request` to lint-frontend workflow

Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
2022-12-16 13:56:39 +01:00
Matthias Wild
c0c4d7ca69
update (docker-)build scripts, .dockerignore and add patchmatch (#1970)
* update build scripts and dockerignore
updates to build and run script:
- read repository name
- include flavor in container name
- read arch via arch command
- use latest tag instead of arch
- don't bindmount `$HOME/.huggingface`
- make sure HUGGINGFACE_TOKEN is set

updates to .dockerignore
- include environment-and-requirements
- exclude binary_installer
- exclude docker-build
- exclude docs

* disable push and pr triggers of cloud image
also disable pushing.

This was decided since:
- it is not multiarch useable
- the default image is already cloud aproved

* integrate patchmatch in container

* pin verisons of recently introduced dependencies

* remove now unecesarry part from build.sh
move huggingface token to run script, so it can download missing models

* move GPU_FLAGS to run script
since not needed at build time

* update env.sh

- read REPOSITORY_NAME from env if available
- add comment to explain the intension of this file
- remove unecesarry exports

* get rid of repository_name_lc

* capitalize variables

* update INSTALL_DOCKER with new variables

* add comments pointing to the docs

Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
2022-12-16 13:53:37 +01:00
Eugene Brodsky
7d09d9da49
delete old 'server' package and the dependency_injector requirement (#2032)
fixes #1944
2022-12-16 06:28:16 -05:00
blessedcoolant
ffa54f4a35 Fix --config arg not being recognized 2022-12-16 18:29:47 +13:00
blessedcoolant
69cc0993f8
Add Embedding Parsing (#1973)
* Add Embedding Parsing

* Add Embedding Parsing

* Return token_dim in embedding_info

* fixes to handle other variants

1. Handle the case of a .bin file being mislabeled .pt (seen in the
wild at https://cyberes.github.io/stable-diffusion-textual-inversion-models/)

2. Handle the "broken" .pt files reported by https://github.com/invoke-ai/InvokeAI/issues/1829

3. When token name is not available, use the basename of the pt or bin file rather than the
   whole path.

fixes #1829

* remove whitespace

Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
2022-12-15 17:26:36 -05:00
mauwii
1050f2726a update links with new filenames 2022-12-16 10:26:02 +13:00
Lincoln Stein
f7170e4156 improve installation documentation
1. Added a big fat warning to the Windows installer to tell user
   to install Visual C++ redistributable.

2. Added a bit fat warning to the automated installer doc to
   tell user the same thing.

3. Reordered entries on the table-of-contents sidebar for installation
   to prioritize the most important docs.

4. Moved older installation documentation into deprecated folder.

5. Moved developer-specific installation documentation into the
   developers folder.
2022-12-16 10:26:02 +13:00
mauwii
bfa8fed568 update site_name 2022-12-16 10:24:03 +13:00
mauwii
2923dfaed1 update index and changelog 2022-12-16 10:24:03 +13:00
zeptofine
0932b4affa Replace latest link
The link still points to 2.2.3 .
2022-12-16 10:22:44 +13:00
Kaspar Emanuel
0b10835269 Fix initial theme setting 2022-12-16 10:20:26 +13:00
Kaspar Emanuel
6e0f3475b4 Reduce frontend eslint warnings to 0 2022-12-16 10:18:45 +13:00
Kaspar Emanuel
9b9e276491 Add lint-frontend github actions workflow 2022-12-16 10:16:01 +13:00
Kaspar Emanuel
392c0725f3 Remove circular dependencies in frontend 2022-12-16 10:16:01 +13:00
wfng92
2a2f38a016
Correct timestep for img2img initial noise addition (#1946)
* Correct timestep for img2img initial noise addition

* apply fix to inpaint and txt2img2img as well

Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
2022-12-15 15:59:19 -05:00
Kevin Turner
7a4e647287
build: GitHub Action to lint python files with pyflakes (#1332) 2022-12-15 19:30:58 +00:00
Lincoln Stein
b8e1151a9c change pypatchmatch only 2022-12-15 10:37:13 -05:00
Lincoln Stein
f39cb668fc update requirements and environment files
- Update pypatchmatch to 0.1.5 (see request from @Kyle0654 here
  https://discord.com/channels/1020123559063990373/1034740515209486387/1052465462757310464 )

- Removed basicsrs workaround for environment files, now that we know
  problem was caused by Windows long path issue.
2022-12-15 10:37:13 -05:00
Lincoln Stein
6c015eedb3
better error reporting when root directory not found (#2001)
- The invoke.py script now checks that the root (runtime) directory contains
  the expected config/models.yaml file and if it doesn't exits with a helpful
  error message about how to set the proper root.

- Formerly the script would fail with a "bad model" message and try to redownload
  its models, which is not helpful in the case that the root is missing or
  damaged.
2022-12-15 09:34:10 -05:00
Kent Keirsey
834e56a513 update Contributors directive to merge to main 2022-12-14 23:42:53 -05:00
mauwii
652aaa809b add missed backticks and some icons for tab
also puth the alf screenshot in a table to fit the other examples
2022-12-14 18:36:07 -05:00
Lincoln Stein
89880e1f72 affirm that <concepts> work with the webGUI 2022-12-14 18:36:07 -05:00
Lincoln Stein
d94f955d9d fix manual install documentation 2022-12-14 18:36:07 -05:00
Damian Stewart
64339af2dc restrict to 75 tokens and correctly handle blends 2022-12-14 16:54:27 -05:00
Kevin Turner
6e4dad60c8 diffusers: add INITIAL_MODELS with diffusers-compatible repos 2022-12-14 12:55:31 -08:00
Kevin Turner
12a88c8410 build: fix syntax error in environment-mac 2022-12-14 12:53:04 -08:00
Damian Stewart
23eb80b404 attention maps callback stuff for diffusers 2022-12-14 21:04:55 +01:00
Kevin Turner
2c6db2e77c CI: fold strings in yaml because backslash is not line-continuation in powershell 2022-12-14 10:52:08 -08:00
Kevin Turner
0605cf4609 CI: remove sh-syntax if-statement so it doesn't crash powershell 2022-12-14 09:14:25 -08:00
Kevin Turner
3607042c9d diffusers: support loading an alternate VAE 2022-12-14 09:05:45 -08:00
Kevin Turner
1f86e527aa
Merge branch 'main' into dev/diffusers 2022-12-14 08:25:03 -08:00
Chris Dawson
5d20f47993
Permit usage of GPUs in docker script (#1985)
* Add gpu support to docker

Enable GPUs within docker

* Use gpus flag

* Add GPU information to readme

* Fix env var name for GPU
2022-12-14 05:21:33 +00:00
Ivan Efimov
ccf8a46320 Fix: define path as None before usage 2022-12-13 19:46:03 -05:00
Kevin Turner
26eac9d94b CI: don't try to read the old init location 2022-12-13 16:13:44 -08:00
Kevin Turner
343216407d Merge remote-tracking branch 'origin/main' into dev/diffusers 2022-12-13 16:06:06 -08:00
mauwii
af3d72e001 re-enable wheel install in test-invoke-pip.yml 2022-12-13 23:29:08 +01:00
Matthias Wild
1d78e1af9c
add concurrency to test actions (#1975)
configured to only cancel workflows in PRs, but not on main branch
origins in #1933, but opitmized to not cancel workflows of non PRs
2022-12-13 19:53:10 +01:00
Matthias Wild
1fd605604f
remove redundant tests, only do 20 steps (#1972)
- remove tests already performed in PR
- remove tests pointing to non existing files
- reduce steps to 20

This should decrease test time a lot and also "fix" failing mac tests.
I still recommend to invent why mac invoke takes so much longer!

Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
2022-12-13 19:39:29 +01:00
Ivan Efimov
f0b04c5066
Typo fix in INSTALL_AUTOMATED.md (#1968) 2022-12-13 19:13:28 +01:00
Eugene Brodsky
2836976d6d (install) fix segfault on macos when using homebrew 2022-12-13 11:39:08 -05:00
blessedcoolant
474220ce8e Fresh Frontend Build 2022-12-13 20:45:37 +13:00
blessedcoolant
4074705194 Update WEBUIHOTKEYS.md
Update hotkeys docs. They were outdated.
2022-12-13 20:45:37 +13:00
blessedcoolant
e89ff01caf Update Hotkeys Modal
Update hotkeys modal to reflect the previous changes to the scale and restore hotkeys and also improve a few other descriptions.
2022-12-13 20:45:37 +13:00
blessedcoolant
2187d0f31c Change Restore and Upscale Hotkeys
Changed the hotkeys of Restore and Upscale from R and U to Shift R and Shift U. Users could accidentally press R and U to trigger these functions which can be annoying. Especially considering R is also a hotkey for Reset View in other tabs and it can become muscle memory.
2022-12-13 20:45:37 +13:00
Kevin Turner
07ac88baed
Merge branch 'main' into dev/diffusers 2022-12-12 23:09:04 -08:00
Lincoln Stein
1219c39d78
Lstein installer improvements (#1954)
* add logic for finding the root (runtime) directory

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.

* make installer scripts more robust

This commits improves the installer .sh and .bat scripts in the following
ways:

1. They now handle folder/directory names containing spaces.
2. Pip will be installed into the .venv using the `ensurepip`
   module.

This addresses issues identified by @vargol in Issue #1941

* add --prefer-binary option to pip install

* fix unset variable crash

* add patch level to zip file name

* Fix crash introduced in #1948
2022-12-13 01:15:11 -05:00