Commit Graph

10028 Commits

Author SHA1 Message Date
psychedelicious
3cf3ed55a2 feat(mm): modularize ModelHash to facilitate testing 2024-03-08 09:00:02 -05:00
psychedelicious
6b41246b2d feat(mm): add hashing algos to ModelHash
- Some algos are slow, so it is now just called ModelHash
- Added all hashlib algos, plus BLAKE3 and the fast (but incorrect) SHA1 algo
2024-03-08 09:00:02 -05:00
psychedelicious
4b073157b8 feat(mm): make hash.py a script for testing 2024-03-08 09:00:02 -05:00
psychedelicious
efceee5128 feat(mm): use blake3 for hashing 2024-03-08 09:00:02 -05:00
Lincoln Stein
64f8535ef5 make model key assignment deterministic
- When installing, model keys are now calculated from the model contents.
- .safetensors, .ckpt and other single file models are hashed with sha1
- The contents of diffusers directories are hashed using imohash (faster)

fixup yaml->sql db migration script to assign deterministic key

- this commit also detects and assigns the correct image encoder for
  ip adapter models.
2024-03-08 09:00:02 -05:00
psychedelicious
d16b9a25bb docs: update RELEASE.md 2024-03-08 08:58:28 -05:00
psychedelicious
794e4db77f ci: add comments to workflows 2024-03-08 08:58:28 -05:00
psychedelicious
dba08376a8 ci: rename test matrix
Now python version: platform, e.g. `py3.10: linux-cpu`

This displays better in GH actions.
2024-03-08 08:58:28 -05:00
psychedelicious
1ab8565609 ci: add conditionals for jobs based on dispatch/call 2024-03-08 08:58:28 -05:00
psychedelicious
35cd3f6bf0 ci: rename jobs, remove extraneous needs in release 2024-03-08 08:58:28 -05:00
psychedelicious
1348bf495c ci: split build job 2024-03-08 08:58:28 -05:00
psychedelicious
1f1deb6a05 ci: workflow & job names 2024-03-08 08:58:28 -05:00
psychedelicious
0dde327bf8 ci: tidy pr labeler labels 2024-03-08 08:58:28 -05:00
psychedelicious
dbb485e430 ci: fix workflows
Do not split up "on change" and "do the thing". Less convoluted, no catch-22 with required checks for PRs.
2024-03-08 08:58:28 -05:00
Ryan Dick
289e759f15 Fix avoid storing extra conditioning info in two places. 2024-03-08 08:51:44 -05:00
Ryan Dick
5fad379192 Add ability to control regional prompt region weights. 2024-03-03 12:55:07 -05:00
Ryan Dick
ad18429fe3 Very experimentation with various regional prompting tuning params. 2024-03-02 17:43:21 -05:00
Ryan Dick
942efa011e Implement (very slow) self-attention regional masking. 2024-03-01 18:43:32 -05:00
Ryan Dick
ffc4ebb14c Merge branch 'ryan/remove-attention-map-saving' into ryan/regional-conditioning 2024-03-01 11:33:50 -05:00
Ryan Dick
5b3adf0740 Remove unused code for attention map saving. 2024-02-29 23:42:37 -05:00
Ryan Dick
a5c94fba43 Delete unused functions from shared_invokeai_diffusion.py. 2024-02-29 23:41:15 -05:00
Ryan Dick
3e14bd6c45 Remove unused constructor declared with typo in name: __int__. 2024-02-29 22:42:59 -05:00
Ryan Dick
8721926f14 Merge sequential conditioning and cac conditioning logic to eliminate a bunch of duplication. 2024-02-29 22:42:59 -05:00
Ryan Dick
d87ff3a206 Remove outdated comments related to T2I-Adapters and ControlNets. 2024-02-29 22:42:59 -05:00
Ryan Dick
7d9671014b Remove use of **kwargs in do_unet_step(...), where full parameter list is known and supported. 2024-02-29 22:42:59 -05:00
Ryan Dick
4a1acd4db9 Fix avoid storing extra conditioning info in two places. 2024-02-29 22:42:59 -05:00
Lincoln Stein
8fb297e5f6 add regression tests for <NOKEY> issue 2024-02-29 22:31:05 -05:00
Lincoln Stein
0832e1818e Fix problem of all installed models being assigned "<NOKEY>"
- Also fix redundant scanning of models directory at startup.
2024-02-29 22:31:05 -05:00
psychedelicious
26d4d93e64 ci: update mkdocs workflow
Bit of a merge of the docs at https://github.com/squidfunk/mkdocs-material/blob/master/docs/publishing-your-site.md and the previous workflow.

Not sure how to test this without access to the main repo.
2024-02-29 21:57:20 -05:00
psychedelicious
77f39aa935 ci: bump setup-python v4 -> v5 2024-02-29 21:57:20 -05:00
psychedelicious
6aae940834 ci: clean up unused workflow 2024-02-29 21:57:20 -05:00
psychedelicious
be8dcad1da feat(installer): do not delete dist/ 2024-02-29 21:57:20 -05:00
psychedelicious
5f2e493244 feat(installer): print outputs 2024-02-29 21:57:20 -05:00
psychedelicious
c60c9825cb feat(installer): add check for CI in create_installer.sh
If in CI, print a message saying so.

If not, prompt user to confirm that they are in the correct working directory.
2024-02-29 21:57:20 -05:00
psychedelicious
6f368395df fix(installer): conditional syntax for old bash in create_installer.sh 2024-02-29 21:57:20 -05:00
psychedelicious
ea4d071503 ci: add reasonable timeouts for jobs
The timeouts are at least 3x the expected time to complete the jobs.

This is particularly relevant for the `pytest` job. Occasionally, it hangs while running tests that do network things, and the job only times out after 6 hours.
2024-02-29 21:57:20 -05:00
psychedelicious
b95e5d0730 ci: bump tj-actions/changed-files -> v41 2024-02-29 21:57:20 -05:00
psychedelicious
99ee8f9099 feat(installer): remove vX-latest from tag_release
Also update RELEASE.md accordingly, and make the release.yml workflow match on `v*` tags.
2024-02-29 21:57:20 -05:00
psychedelicious
50e58ff323 feat(installer): just use python3 in scripts 2024-02-29 21:57:20 -05:00
psychedelicious
b5c12985e7 docs: update RELEASE.md 2024-02-29 21:57:20 -05:00
psychedelicious
a865277667 ci: add comments to workflows 2024-02-29 21:57:20 -05:00
psychedelicious
b2b65a9012 feat(installer): address feedback 2024-02-29 21:57:20 -05:00
psychedelicious
9fe579dd99 docs: update docs/RELEASE.md 2024-02-29 21:57:20 -05:00
psychedelicious
a0313ba634 feat: automated releases via github action
- Restructure & update code check workflows
- Add release workflow to handle checks/tests, build and publish to PyPI
- Add docs/RELEASE.md explaining the workflow & process
- `create_installer.sh`: Update to work with the release workflow
- `create_installer.sh` & `tag_release.sh`: Fix the ANSI escape codes for macOS
- `tag_release.sh`: Add check for python binary name
- `tag_release.sh`: Print `git remote -v` output
- `tag_release.sh`: Fix error when deleting nonexistant tags
2024-02-29 21:57:20 -05:00
psychedelicious
3a2afe1d15 chore: ruff 2024-03-01 10:42:33 +11:00
Lincoln Stein
813a086cfe fix race condition between downloading last file and starting install 2024-03-01 10:42:33 +11:00
Lincoln Stein
e18533e3b5 add debugging statements and a timeout to download test 2024-03-01 10:42:33 +11:00
psychedelicious
dd9daf8efb chore: ruff 2024-03-01 10:42:33 +11:00
psychedelicious
ad86b29798 chore: remove pin on ruff
This ensures it matches the github workflow.

Also there's an update that stabilizes a number of formatting rules, so there will be a format commit after this.
2024-03-01 10:42:33 +11:00
psychedelicious
8b03af391a fix(ui): fix metadata display issue 2024-03-01 10:42:33 +11:00