InvokeAI/invokeai/app/services
Lincoln Stein f2777f5096
Port the command-line tools to use model_manager2 (#5546)
* Port the command-line tools to use model_manager2

1.Reimplement the following:

  - invokeai-model-install
  - invokeai-merge
  - invokeai-ti

  To avoid breaking the original modeal manager, the udpated tools
  have been renamed invokeai-model-install2 and invokeai-merge2. The
  textual inversion training script should continue to work with
  existing installations. The "starter" models now live in
  `invokeai/configs/INITIAL_MODELS2.yaml`.

  When the full model manager 2 is in place and working, I'll rename
  these files and commands.

2. Add the `merge` route to the web API. This will merge two or three models,
   resulting a new one.

   - Note that because the model installer selectively installs the `fp16` variant
     of models (rather than both 16- and 32-bit versions as previous),
     the diffusers merge script will choke on any huggingface diffuserse models
     that were downloaded with the new installer. Previously-downloaded models
     should continue to merge correctly. I have a PR
     upstream https://github.com/huggingface/diffusers/pull/6670 to fix
     this.

3. (more important!)
  During implementation of the CLI tools, found and fixed a number of small
  runtime bugs in the model_manager2 implementation:

  - During model database migration, if a registered models file was
    not found on disk, the migration would be aborted. Now the
    offending model is skipped with a log warning.

  - Caught and fixed a condition in which the installer would download the
    entire diffusers repo when the user provided a single `.safetensors`
    file URL.

  - Caught and fixed a condition in which the installer would raise an
    exception and stop the app when a request for an unknown model's metadata
    was passed to Civitai. Now an error is logged and the installer continues.

  - Replaced the LoWRA starter LoRA with FlatColor. The former has been removed
    from Civitai.

* fix ruff issue

---------

Co-authored-by: Lincoln Stein <lstein@gmail.com>
2024-02-02 17:18:47 +00:00
..
board_image_records feat(db): add SQLiteMigrator to perform db migrations 2023-12-11 16:14:25 +11:00
board_images feat: refactor services folder/module structure 2023-10-12 12:15:06 -04:00
board_records feat(db): add SQLiteMigrator to perform db migrations 2023-12-11 16:14:25 +11:00
boards feat(api): chore: pydantic & fastapi upgrade 2023-10-17 14:59:25 +11:00
config perf(config): change default png_compress_level to 1 2024-02-02 00:32:00 +11:00
download Port the command-line tools to use model_manager2 (#5546) 2024-02-02 17:18:47 +00:00
events Model Manager Refactor: Install remote models and store their tags and other metadata (#5361) 2024-01-14 19:54:53 +00:00
image_files feat: workflow library (#5148) 2023-12-09 09:48:38 +11:00
image_records feat(db): add SQLiteMigrator to perform db migrations 2023-12-11 16:14:25 +11:00
images feat: workflow library (#5148) 2023-12-09 09:48:38 +11:00
invocation_cache feat(api): chore: pydantic & fastapi upgrade 2023-10-17 14:59:25 +11:00
invocation_processor feat(stats): refactor InvocationStatsService to output stats as dataclasses 2024-02-01 08:50:56 +11:00
invocation_queue feat: workflow library (#5148) 2023-12-09 09:48:38 +11:00
invocation_stats fix(stats): log errors at error level 2024-02-01 08:50:56 +11:00
item_storage chore(item_storage): excise SqliteItemStorage 2024-02-02 09:20:41 +11:00
latents_storage feat(backend): move logic to clear latents to method 2023-12-01 17:44:07 -08:00
model_install Port the command-line tools to use model_manager2 (#5546) 2024-02-02 17:18:47 +00:00
model_manager chore: flake8 2023-10-30 01:49:10 +11:00
model_records Model Manager Refactor: Install remote models and store their tags and other metadata (#5361) 2024-01-14 19:54:53 +00:00
names feat: refactor services folder/module structure 2023-10-12 12:15:06 -04:00
session_processor feat: workflow library (#5148) 2023-12-09 09:48:38 +11:00
session_queue feat(db): add SQLiteMigrator to perform db migrations 2023-12-11 16:14:25 +11:00
shared Port the command-line tools to use model_manager2 (#5546) 2024-02-02 17:18:47 +00:00
urls feat: refactor services folder/module structure 2023-10-12 12:15:06 -04:00
workflow_records add project as category to back-end 2024-01-24 10:59:04 +11:00
__init__.py all files migrated; tweaks needed 2023-03-03 00:02:15 -05:00
invocation_services.py [feature] Download Queue (#5225) 2023-12-22 12:35:57 -05:00
invoker.py feat: workflow library (#5148) 2023-12-09 09:48:38 +11:00