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.
* 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
* 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>
* 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>
* 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>
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.
* Correct timestep for img2img initial noise addition
* apply fix to inpaint and txt2img2img as well
Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
- 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.
- 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>
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.
* 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