Sergey Borisov
5aaaaf64a1
Fix ckpt conversion
2023-06-23 17:29:54 +03:00
StAlKeR7779
9140e2c0f2
Merge branch 'main' into fix/vae_conversion
2023-06-23 15:03:59 +03:00
Lincoln Stein
c7b7e087e4
Merge branch 'main' into lstein/installer-for-new-model-layout
2023-06-23 01:45:05 +01:00
psychedelicious
b937b7da01
feat(models): update model manager service & route to return list of models
2023-06-22 17:34:12 +10:00
Sergey Borisov
21245a0fb2
Set model type to const value in openapi schema, add model format enums to model schema(as they not not referenced in case of Literal definition)
2023-06-22 16:51:53 +10:00
Sergey Borisov
da566b59e8
Update model format field to use enums
2023-06-22 16:51:53 +10:00
Sergey Borisov
e4dc9c5a04
Rename format to model_format(still named format when work with config)
2023-06-22 16:51:53 +10:00
Sergey Borisov
aceadacad4
Remove default model logic
2023-06-22 16:51:53 +10:00
blessedcoolant
727293d722
fix: 2.1 models breaking generation
...
Co-Authored-By: StAlKeR7779 <7768370+StAlKeR7779@users.noreply.github.com>
2023-06-22 16:42:59 +10:00
Sergey Borisov
ef83a2fffe
Add name, base_mode, type fields to model info
2023-06-22 16:42:51 +10:00
Sergey Borisov
01d17601b8
Generate config names for openapi
2023-06-22 16:41:19 +10:00
blessedcoolant
bf0d5f4cfc
fix: Update missing name types to new names
2023-06-22 16:41:02 +10:00
blessedcoolant
9838dda1b7
chore: Update model config type names
2023-06-22 16:40:40 +10:00
Lincoln Stein
90df316835
Merge branch 'main' into lstein/installer-for-new-model-layout
2023-06-20 22:50:41 +01:00
Lincoln Stein
ac6403f877
address some of ebr issues
2023-06-20 11:08:27 -04:00
Sergey Borisov
7b35162b9e
Remove old logic except for inpaint, add support for lora and ti to inpaint node
2023-06-19 15:57:28 +10:00
Sergey Borisov
82091b9a66
Fix vae conversion
2023-06-18 23:46:07 +03:00
Lincoln Stein
e1d53b86f3
Merge branch 'main' into lstein/installer-for-new-model-layout
2023-06-17 16:26:56 -07:00
Lincoln Stein
f28d50070e
configure/install basically working; needs edge case testing
2023-06-16 22:54:36 -04:00
Lincoln Stein
ada7399753
rewrite of widget display - marshalling needs rewrite
2023-06-15 23:32:33 -04:00
Sergey Borisov
5f2d07917d
Fix lora import, fix sd2 config, fix list models api
2023-06-15 21:30:15 +03:00
Sergey Borisov
6c5954f9d1
Add controlnet to model manager, fixes
2023-06-14 04:26:21 +03:00
Sergey Borisov
740c05a0bb
Save models on rescan, uncache model on edit/delete, fixes
2023-06-14 03:12:12 +03:00
Sergey Borisov
26090011c4
Fix conflict resolve, add model configs to type annotation
2023-06-14 00:26:37 +03:00
Sergey Borisov
e7db6d8120
Fix ckpt and vae conversion, migrate script, remove sd2-base
2023-06-13 18:05:12 +03:00
Lincoln Stein
87ba17a1f5
add migration script and update convert and face restoration paths
2023-06-13 01:27:51 -04:00
Lincoln Stein
1439dc7712
Add SchedulerPredictionType and ModelVariantType enums
2023-06-12 16:07:04 -04:00
Sergey Borisov
36eb1bd893
Fixes
2023-06-12 16:14:09 +03:00
Sergey Borisov
9fa78443de
Fixes, add sd variant detection
2023-06-12 05:52:30 +03:00
Lincoln Stein
893f776f1d
model_probe working; model_install incomplete
2023-06-11 19:51:53 -04:00
Lincoln Stein
085ab54124
remove modified models.py and migrate code to models/base.py
2023-06-11 16:10:15 -04:00
Lincoln Stein
8e1a56875e
remove defunct code
2023-06-11 12:57:06 -04:00
Lincoln Stein
000626ab2e
move all installation code out of model_manager
2023-06-11 12:51:50 -04:00
Sergey Borisov
694fd0c92f
Fixes, first runable version
2023-06-11 16:42:40 +03:00
Sergey Borisov
738ba40f51
Fixes
2023-06-11 06:12:21 +03:00
Sergey Borisov
3ce3a7ee72
Rewrite model configs, separate models
2023-06-11 04:49:09 +03:00
Lincoln Stein
74b43c9bdf
fix incorrect variable/typenames in model_cache
2023-06-10 10:41:48 -04:00
Lincoln Stein
a87d52a389
resolve conflicts between lstein & sttalker changes
2023-06-10 09:59:19 -04:00
Lincoln Stein
959e64c9b3
start removing repo_id support
2023-06-10 09:57:23 -04:00
Sergey Borisov
2c056ead42
New models structure draft
2023-06-10 03:14:10 +03:00
Lincoln Stein
887576d217
add directory scanning for loras, controlnets and textual_inversions
2023-06-08 23:11:53 -04:00
Lincoln Stein
6652f3405b
merge with main
2023-06-08 21:08:43 -04:00
Lincoln Stein
2a6d11e645
create databases directory on startup
2023-06-08 07:17:54 -04:00
Lincoln Stein
9ed86a08f1
multiple small fixes
...
1. Contents of autoscan directory field are restored after doing an installation.
2. Activate dialogue to choose V2 parameterization when importing from a directory.
3. Remove autoscan directory from init file when its checkbox is unselected.
4. Add widget cycling behavior to install models form.
2023-06-07 17:32:00 -04:00
Lincoln Stein
04f9757f8d
prevent crash when trying to calculate size of missing safety_checker
...
- Also fixed up order in which logger is created in invokeai-web
so that handlers are installed after command-line options are
parsed (and not before!)
2023-06-06 22:57:49 -04:00
Lincoln Stein
1f9e1eb964
merge with main
2023-06-06 22:18:41 -04:00
Lincoln Stein
d8d11f9bbb
quench fp16 rev id not found warning
2023-06-06 22:01:05 -04:00
Lincoln Stein
f5044c290d
fix crash during model conversion
2023-06-06 17:05:29 -04:00
Lincoln Stein
90333c0074
merge with main
2023-06-05 22:03:44 -04:00
Lincoln Stein
cb157ea530
fix crash when install-models launched from config script
2023-06-04 14:55:51 -04:00
Lincoln Stein
1a7fb601dc
ask user for v2 variant when model manager can't infer it
2023-06-04 11:27:44 -04:00
Lincoln Stein
31e97ead2a
move invokeai.db to ~/invokeai/databases
...
- The invokeai.db database file has now been moved into
`INVOKEAIROOT/databases`. Using plural here for possible
future with more than one database file.
- Removed a few dangling debug messages that appeared during
testing.
- Rebuilt frontend to test web.
2023-06-03 20:25:34 -04:00
Lincoln Stein
72d1e4e404
fix bug in model_manager that prevented import of inpainting models
2023-06-02 22:39:26 -04:00
Lincoln Stein
1390b65a9c
new TUI is fully functional; needs some polishing
2023-06-02 17:20:50 -04:00
Lincoln Stein
41f7758977
listing, downloading and deleting LoRAs working; TI support pending
2023-06-02 00:40:15 -04:00
Lincoln Stein
e9821ab711
implemented tabbed model selection; not wired to backend yet
2023-06-01 00:31:46 -04:00
Sergey Borisov
b47786e846
First working TI draft
2023-05-31 02:12:27 +03:00
Sergey Borisov
69ccd3a0b5
Fixes for checkpoint models
2023-05-30 19:12:47 +03:00
Sergey Borisov
79de9047b5
First working lora implementation
2023-05-30 01:11:00 +03:00
Lincoln Stein
2273b3a8c8
fix potential race condition in config system
2023-05-25 20:41:26 -04:00
Sergey Borisov
8e419a4f97
Revert weak references as can be done without it
2023-05-23 04:29:40 +03:00
Sergey Borisov
2533209326
Rewrite cache to weak references
2023-05-23 03:48:22 +03:00
Lincoln Stein
d2dc1ed26f
make InvokeAI package installable
...
This commit makes InvokeAI 3.0 to be installable via PyPi.org and the
installer script.
Main changes.
1. Move static web pages into `invokeai/frontend/web` and modify the
API to look for them there. This allows pip to copy the files into the
distribution directory so that user no longer has to be in repo root
to launch.
2. Update invoke.sh and invoke.bat to launch the new web application
properly. This also changes the wording for launching the CLI from
"generate images" to "explore the InvokeAI node system," since I would
not recommend using the CLI to generate images routinely.
3. Fix a bug in the checkpoint converter script that was identified
during testing.
4. Better error reporting when checkpoint converter fails.
5. Rebuild front end.
2023-05-22 17:51:47 -04:00
Lincoln Stein
27241cdde1
port more globals changes over
2023-05-18 17:17:45 -04:00
Lincoln Stein
259d6ec90d
fixup cachedir call
2023-05-18 14:52:16 -04:00
Lincoln Stein
a77c4c87b2
fixed logic error in resolution of model path
2023-05-18 14:35:34 -04:00
Lincoln Stein
d96175d127
resolve some undefined symbols in model_cache
2023-05-18 14:31:47 -04:00
Lincoln Stein
b1a99d772c
added method to convert vaes
2023-05-18 13:31:11 -04:00
Lincoln Stein
7ea995149e
fixes to env parsing, textual inversion & help text
...
- Make environment variable settings case InSenSiTive:
INVOKEAI_MAX_LOADED_MODELS and InvokeAI_Max_Loaded_Models
environment variables will both set `max_loaded_models`
- Updated realesrgan to use new config system.
- Updated textual_inversion_training to use new config system.
- Discovered a race condition when InvokeAIAppConfig is created
at module load time, which makes it impossible to customize
or replace the help message produced with --help on the command
line. To fix this, moved all instances of get_invokeai_config()
from module load time to object initialization time. Makes code
cleaner, too.
- Added `--from_file` argument to `invokeai-node-cli` and changed
github action to match. CI tests will hopefully work now.
2023-05-18 10:48:23 -04:00
Sergey Borisov
fd82763412
Model manager draft
2023-05-18 03:56:52 +03:00
Lincoln Stein
e971a7f35c
when migrating models.yaml, rename original models.yaml.orig
2023-05-16 22:37:53 -04:00
Lincoln Stein
cd16857f38
fix None in model_type
2023-05-16 00:13:44 -04:00
Lincoln Stein
1442f1cb8d
change model filter to None in second place
2023-05-16 00:03:57 -04:00
Lincoln Stein
4fe94a9315
list_models() now returns a dict of {type,{name: info}}
2023-05-15 23:44:08 -04:00
Lincoln Stein
c8f765cc06
improve debugging messages
2023-05-14 18:29:55 -04:00
Lincoln Stein
b9e9087dbe
do not manage GPU for pipelines if sequential_offloading is True
2023-05-14 18:09:38 -04:00
Lincoln Stein
63e465eb5c
tweaks to get_model()
behavior
...
1. If an external VAE is specified in config file, then
get_model(submodel=vae) will return the external VAE, not the one
burnt into the parent diffusers pipeline.
2. The mechanism in (1) is generalized such that you can now have
"unet:", "text_encoder:" and similar stanzas in the config file.
Valid formats of these subsections:
unet:
repo_id: foo/bar
unet:
path: /path/to/local/folder
unet:
repo_id: foo/bar
subfolder: unet
In the near future, these will also be used to attach external
parts to the pipeline, generalizing VAE behavior.
3. Accommodate callers (i.e. the WebUI) that are passing the
model key ("diffusers/stable-diffusion-1.5") to get_model()
instead of the tuple of model_name and model_type.
4. Fixed bug in VAE model attaching code.
5. Rebuilt web front end.
2023-05-14 16:50:59 -04:00
Lincoln Stein
baf5451fa0
Merge branch 'main' into lstein/new-model-manager
2023-05-13 22:01:34 -04:00
Lincoln Stein
1103ab2844
merge with main
2023-05-13 21:35:19 -04:00
Lincoln Stein
b31a6ff605
fix reversed args in _model_key() call
2023-05-13 21:11:06 -04:00
Sergey Borisov
1f602e6143
Fix - apply precision to text_encoder
2023-05-14 03:46:13 +03:00
Sergey Borisov
039fa73269
Change SDModelType enum to string, fixes(model unload negative locks count, scheduler load error, saftensors convert, wrong logic in del_model, wrong parse metadata in web)
2023-05-14 03:06:26 +03:00
Lincoln Stein
2204e47596
allow submodels to be fetched independent of parent pipeline
2023-05-13 16:54:47 -04:00
Lincoln Stein
d8b1f29066
proxy SDModelInfo so that it can be used directly as context
2023-05-13 16:29:18 -04:00
Lincoln Stein
b23c9f1da5
get Tuple type hint syntax right
2023-05-13 14:59:21 -04:00
Lincoln Stein
72967bf118
convert add_model(), del_model(), list_models() etc to use bifurcated names
2023-05-13 14:44:44 -04:00
Sergey Borisov
3b2a054f7a
Add model loader node; unet, clip, vae fields; change compel node to clip field
2023-05-13 04:37:20 +03:00
Sergey Borisov
131145eab1
A big refactor of model manager(according to IMHO)
2023-05-12 23:13:34 +03:00
Kevin Turner
4caa1f19b2
fix(model manager): fix string formatting error on model checksum timer
2023-05-11 19:06:02 -07:00
Lincoln Stein
df5b968954
model manager now running as a service
2023-05-11 21:24:29 -04:00
blessedcoolant
06b5800d28
Add UniPC Scheduler
2023-05-11 22:43:18 +12:00
Lincoln Stein
4627910c5d
added a wrapper model_manager_service and model events
2023-05-11 00:09:19 -04:00
Lincoln Stein
99c692f397
check that model name matches format
2023-05-09 23:46:59 -04:00
Lincoln Stein
3d85e769ce
clean up ckpt handling
...
- remove legacy ckpt loading code from model_cache
- added placeholders for lora and textual inversion model loading
2023-05-09 22:44:58 -04:00
Lincoln Stein
9cb962cad7
ckpt model conversion now done in ModelCache
2023-05-08 23:39:44 -04:00
Lincoln Stein
a108155544
added StALKeR779's great model size calculating routine
2023-05-08 21:47:03 -04:00
Lincoln Stein
c15b49c805
implement StALKeR7779 requested API for fetching submodels
2023-05-07 23:18:17 -04:00
Lincoln Stein
fd63e36822
optimize subfolder so that it returns submodel if parent is in RAM
2023-05-07 21:39:11 -04:00
Lincoln Stein
4649920074
adjust t2i to work with new model structure
2023-05-07 19:06:49 -04:00
Lincoln Stein
667171ed90
cap model cache size using bytes, not # models
2023-05-07 18:07:28 -04:00