v4.0.0rc4
版本发布时间: 2024-03-21 00:05:53
invoke-ai/InvokeAI最新发布版本:v4.2.0(2024-05-09 21:17:36)
This is a Release Candidate. We strongly suggest backing up your database before testing to prevent data loss in case of any issues.
Please let us know if you run into anything unexpected.
What's New
We are now updated to use diffusers:0.27.0 and pytorch 2.2.1!
In RC4, the configs managed in invokeai.yaml are managed differently within the app. As a consequence of this, we will no longer be supporting passing in all configs as args on the invokeai-web
cli command. Instead configs can be passed in via environment variables in the form of INVOKEAI_<name_of_config>
For example:
INVOKEAI_REMOTE_API_TOKENS="[{\"url_regex\":\"huggingface.co/.*\", \"token\":\"example\"}]" invokeai-web
As seen in the example, JSON notation can be used for any config properties that are more complicated than a standard string.
Along with revamping how we manage configs, we've also removed the need for the invokeai-configure
script which was previously required before installation.
RC1 supported the setting skip_model_hash in invokeai.yaml. In RC2, this is replaced by a more flexible setting hashing_algorithm.
New Model Manager
The model manager is rewritten in v4.0.0, both frontend and backend. This builds a foundation for future model architectures and brings some exciting new user-facing features:
- Queued model downloads
- Per-model preview images
- Per-model default settings - choose a model’s default VAE, Scheduler, CFG Scale, etc.
- User-defined trigger phrases for concepts/LoRAs and models - access by typing the < key in any prompt box
- API key support for model marketplaces
Model Hashing
When you first run v4.0.0, it will take a while to start up as it does a one-time hash of all of your model files.
Do not panic.
Hashes provide a stable identifier for a model that is the same across every platform.
If you don’t care about this, you can disable the hashing using the hashing_algorithm setting in invokeai.yaml.
Canvas Improvements
The canvas uses a new method for compositing called gradient denoising. This eliminates the need for multiple “passes”, greatly reducing generation time on the canvas. This method also provides substantially improved visual coherence between the masked regions and the rest of the image.
The compositing settings on canvas allow for control over the gradient denoising process.
Major research & experimentation for this novel denoising implementation was led by @dunkeroni, and @blessedcoolant was responsible for managing integration into the canvas UI.
Bonus: Invoke Training (Beta)
As of v4.0.0, all references to training in the core invoke script now point to the Invoke Training Repo. Invoke Training offers a simple user interface for:
- Textual Inversion Training
- LoRA Training
- Dreambooth Training
- Pivotal Tuning Training
You can learn more about Invoke Training at https://github.com/invoke-ai/invoke-training
Minor UI/UX Enhancements:
- Canvas Brush Size Scroll can now be inverted (Thanks @joshistoast!)
- Images in the Canvas Staging Area can now be discarded individually (Thanks @joshistoast!)
- Many small bug fixes and resolved papercuts
Installation and Upgrading
To install or upgrade to version 4.0, download the zip file from the release notes ("Assets" section), unpack it, and follow the installation instructions. For upgrades, select the same installation location.
💻 Developer Changes
v4.0.0 is versioned as a major release due to breaking changes:
- The internal nodes API has been refactored to provide a stable public API. Node authors should review the migration guide. The internal graph execution engine is drastically simplified, resulting in more efficient and performant processing. This carries on from the changes in v3.6.0 in which graphs are no longer stored in the database.
Contributing
As a community-supported project, we rely on volunteers and enthusiasts for continued innovation and polish. Everything from minor documentation fixes to major feature additions are welcome. To get started as a contributor, please refer to How to Contribute or reach out in #dev-chat on Discord!
What's Changed
- fix(ui): do not provide auth headers for openapi.json by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5726
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/5736
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/5743
- add latent-upscale to communityNodes.md by @gogurtenjoyer in https://github.com/invoke-ai/InvokeAI/pull/5728
- updated tooltip popovers by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/5751
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/5752
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/5765
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/5788
- Update communityNodes.md by @skunkworxdark in https://github.com/invoke-ai/InvokeAI/pull/5802
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/5823
- chore: merge next by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5838
- feat: automated releases via github action by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5839
- Fix problem of all installed models being assigned "<NOKEY>" by @lstein in https://github.com/invoke-ai/InvokeAI/pull/5841
- Tidy the attention code (in preparation for regional prompting) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/5843
- ci: fix workflows by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5854
- Remove attention map saving by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/5845
- Make model key assignment deterministic by @lstein in https://github.com/invoke-ai/InvokeAI/pull/5792
- fix(canvas): use a corrected gradient mask for canvas pasteback by @dunkeroni in https://github.com/invoke-ai/InvokeAI/pull/5855
- Update Transformers 4.37.2 -> 4.38.2 by @Malrama in https://github.com/invoke-ai/InvokeAI/pull/5859
- consolidate tabs for main model and concepts in generation panel by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5848
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/5832
- Log a stack trace for invocation errors by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/5853
- Allow in place local installs of models by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/5852
- Default model settings by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5850
- refactor(mm): update configs and schemas by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5846
- updates for
defaultModel
by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5866 - Remove references to the no longer existing invokeai.app.services.mod… by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/5871
- refactor: :pencil2: canvas mask compositor naming by @joshistoast in https://github.com/invoke-ai/InvokeAI/pull/5873
- fix(nodes): invocation cache clearing by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5880
- fix(ui): fix URL for get image workflow by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5882
- feat(ui): UI papercuts by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5881
- fix(ui): only show default settings on main models by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5884
- feat(scripts): typegen improvements by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5878
- feat(ui): add config_path to model update form for ckpt models by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5883
- fix(nodes): load config before doing anything else by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5877
- invert canvas brush size hotkey setting by @joshistoast in https://github.com/invoke-ai/InvokeAI/pull/5875
- refactor: model identifiers improvements by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5879
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/5864
- Add cover images to model manager by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/5876
- discard current inpaint instance by @joshistoast in https://github.com/invoke-ai/InvokeAI/pull/5874
- feat(ui): model manager UI pass by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5886
- Remove civit install source by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/5887
- feat(ui): allow inplace installs by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5890
- fix: workflows backcompat by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5897
- feat: default processors for controlnet & t2i adapter by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5896
- migrate models on service start by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5889
- remove old data migration from previous schema version by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5901
- ui(model_manager): Remember Scan Path by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/5898
- fix(ui): only render convert button if ckpt model by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5902
- fix(ui): add ordering for model list by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5903
- Use absolute paths in model manager by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/5900
- docs: autogenerate app config docs by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5892
- fix(app): include
config_path
in yaml -> DB migration by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5905 - fix(mm): only move model files if necessary by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5911
- fix(mm): yaml migration fixup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5913
- docs: update docs by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5909
- feat(nodes): enriched model identifiers by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5910
- fix: make Canvas compatible with inpainting models again by @dunkeroni in https://github.com/invoke-ai/InvokeAI/pull/5895
- tidy(mm): ModelSearch cleanup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5912
- fix(mm): do not erroneously rename files by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5914
- Remove dead code related to an old symmetry feature. by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/5899
- fix(nodes): ip adapter by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5919
- chore: bump app deps by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5915
- Allow lists of basemodel objects in omegaconf by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/5922
- Do not override log_memory_usage when debug logs are enabled by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/5921
- {release} 4.0.0rc1 by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/5908
- ci: add missing permission to release workflow by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5927
- feat(ui): Add image size badge to gallery images by @rohinish404 in https://github.com/invoke-ai/InvokeAI/pull/5632
- Update l2i invoke and seamless to support AutoencoderTiny, remove att… by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/5936
- updated model manager to display when import item is cancelled by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/5924
- fix(ui): disable trigger phrase form if empty by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5942
- ci: add
always_run
input to checks & tests, use this on release workflow by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5929 - added hf models import tab and route for getting available hf models by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/5891
- docs: misc updates by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5930
- chore: cleanup DepthAnything code by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/5945
- fix(ui): force CustomSelect's to rerender when models load to update invalid state by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5949
- (ui): fetch TIs on socket connect by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5950
- fix(ui): control adapter errors by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5953
- chore(ui): cleanup translations by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5946
- feat: :pencil2: rename "Workflow Editor" tab label to "Workflows" by @joshistoast in https://github.com/invoke-ai/InvokeAI/pull/5955
- feat(mm): faster hashing for spinning disk HDDs by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5952
- feat(nodes): defaults dimensions for main models by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5931
- Work around missing core conversion model issue by @lstein in https://github.com/invoke-ai/InvokeAI/pull/5947
- Restore ability to install models from command line by @lstein in https://github.com/invoke-ai/InvokeAI/pull/5948
- fix(nodes): depth anything processor (#5956) by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5961
- feat(ui): single getModelConfigs query by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5962
- fix: model load events by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5959
- docs: update CONFIGURATION.md by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5963
- fix(nodes,ui): metadata recall by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5957
- Run typegen, update version to 4.0.0rc2 by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/5965
- fix(ui): initial main model in dropdown by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5968
- Update diffusers 0.26.3 -> 0.27.0 and other HF packages by @Malrama in https://github.com/invoke-ai/InvokeAI/pull/5976
- Allow removal of models with legacy relative path addressing by @lstein in https://github.com/invoke-ai/InvokeAI/pull/5979
- Remove core conversion models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/5981
- Stop registering and moving models which have symlinks in the models dir by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/5973
- Add sdxl controlnet models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/5980
- Install missing clip_vision encoders if required by an ip adapter by @lstein in https://github.com/invoke-ai/InvokeAI/pull/5982
- refactor: simplified config system by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5920
- Revert "fix(mm): provide ckpt config as stream to diffusers" by @lstein in https://github.com/invoke-ai/InvokeAI/pull/5990
- Allow users to specify model type and skip detection step of probe by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/5970
- feat(ui, worker): update processed image resolution based on base model type by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5986
- fix(ui): move created_by out of recall panel by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5987
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/5904
- fix(ui): model list refreshes after changes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5993
- Record the model_variant in t2i and clip_vision configs by @lstein in https://github.com/invoke-ai/InvokeAI/pull/5989
- Fix race condition causing hangs during model install unit tests by @lstein in https://github.com/invoke-ai/InvokeAI/pull/5994
- fix(ui): fix refiner metadata by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/5996
- gh: update pr template by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5958
- chore: bump nodes versions by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5992
- Fix(backend): Denoise Masks being applied at the wrong time by @dunkeroni in https://github.com/invoke-ai/InvokeAI/pull/5985
- refactor: remove configure script by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5991
- Update pytorch and xFormers 2.1.2 -> 2.2.1 by @Malrama in https://github.com/invoke-ai/InvokeAI/pull/5977
- fix(ui): handle seamless with refiner by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5999
Full Changelog Since Last Release Candidate: https://github.com/invoke-ai/InvokeAI/compare/v4.0.0rc2...v4.0.0rc4
1、 InvokeAI-installer-v4.0.0rc4.zip 17.13KB