mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
update model merging
This commit is contained in:
parent
774ade679d
commit
044b6ac07a
@ -21,8 +21,8 @@ TI files that you'll encounter are `.pt` and `.bin` files, which are produced by
|
|||||||
different TI training packages. InvokeAI supports both formats, but its
|
different TI training packages. InvokeAI supports both formats, but its
|
||||||
[built-in TI training system](TRAINING.md) produces `.pt`.
|
[built-in TI training system](TRAINING.md) produces `.pt`.
|
||||||
|
|
||||||
The [Hugging Face company](https://huggingface.co/sd-concepts-library) has
|
[Hugging Face](https://huggingface.co/sd-concepts-library) has
|
||||||
amassed a large ligrary of >800 community-contributed TI files covering a
|
amassed a large library of >800 community-contributed TI files covering a
|
||||||
broad range of subjects and styles. You can also install your own or others' TI files
|
broad range of subjects and styles. You can also install your own or others' TI files
|
||||||
by placing them in the designated directory for the compatible model type
|
by placing them in the designated directory for the compatible model type
|
||||||
|
|
||||||
|
@ -2,17 +2,50 @@
|
|||||||
title: Model Merging
|
title: Model Merging
|
||||||
---
|
---
|
||||||
|
|
||||||
# :material-image-off: Model Merging
|
InvokeAI provides the ability to merge two or three diffusers-type models into a new merged model. The
|
||||||
|
|
||||||
## How to Merge Models
|
|
||||||
|
|
||||||
As of version 2.3, InvokeAI comes with a script that allows you to
|
|
||||||
merge two or three diffusers-type models into a new merged model. The
|
|
||||||
resulting model will combine characteristics of the original, and can
|
resulting model will combine characteristics of the original, and can
|
||||||
be used to teach an old model new tricks.
|
be used to teach an old model new tricks.
|
||||||
|
|
||||||
|
## How to Merge Models
|
||||||
|
|
||||||
|
Model Merging can be be done by navigating to the Model Manager and clicking the "Merge Models" tab. From there, you can select the models and settings you want to use to merge th models.
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
|
||||||
|
* Model Selection: there are three multiple choice fields that
|
||||||
|
display all the diffusers-style models that InvokeAI knows about.
|
||||||
|
If you do not see the model you are looking for, then it is probably
|
||||||
|
a legacy checkpoint model and needs to be converted using the
|
||||||
|
`invoke` command-line client and its `!optimize` command. You
|
||||||
|
must select at least two models to merge. The third can be left at
|
||||||
|
"None" if you desire.
|
||||||
|
|
||||||
|
* Alpha: This is the ratio to use when combining models. It ranges
|
||||||
|
from 0 to 1. The higher the value, the more weight is given to the
|
||||||
|
2d and (optionally) 3d models. So if you have two models named "A"
|
||||||
|
and "B", an alpha value of 0.25 will give you a merged model that is
|
||||||
|
25% A and 75% B.
|
||||||
|
|
||||||
|
* Interpolation Method: This is the method used to combine
|
||||||
|
weights. The options are "weighted_sum" (the default), "sigmoid",
|
||||||
|
"inv_sigmoid" and "add_difference". Each produces slightly different
|
||||||
|
results. When three models are in use, only "add_difference" is
|
||||||
|
available.
|
||||||
|
|
||||||
|
* Save Location: The location you want the merged model to be saved in. Default is in the InvokeAI root folder
|
||||||
|
|
||||||
|
* Name for merged model: This is the name for the new model. Please
|
||||||
|
use InvokeAI conventions - only alphanumeric letters and the
|
||||||
|
characters ".+-".
|
||||||
|
|
||||||
|
* Ignore Mismatches / Force: Not all models are compatible with each other. The merge
|
||||||
|
script will check for compatibility and refuse to merge ones that
|
||||||
|
are incompatible. Set this checkbox to try merging anyway.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
You may run the merge script by starting the invoke launcher
|
You may run the merge script by starting the invoke launcher
|
||||||
(`invoke.sh` or `invoke.bat`) and choosing the option for _merge
|
(`invoke.sh` or `invoke.bat`) and choosing the option (4) for _merge
|
||||||
models_. This will launch a text-based interactive user interface that
|
models_. This will launch a text-based interactive user interface that
|
||||||
prompts you to select the models to merge, how to merge them, and the
|
prompts you to select the models to merge, how to merge them, and the
|
||||||
merged model name.
|
merged model name.
|
||||||
@ -40,34 +73,4 @@ this to get back.
|
|||||||
If the merge runs successfully, it will create a new diffusers model
|
If the merge runs successfully, it will create a new diffusers model
|
||||||
under the selected name and register it with InvokeAI.
|
under the selected name and register it with InvokeAI.
|
||||||
|
|
||||||
## The Settings
|
|
||||||
|
|
||||||
* Model Selection -- there are three multiple choice fields that
|
|
||||||
display all the diffusers-style models that InvokeAI knows about.
|
|
||||||
If you do not see the model you are looking for, then it is probably
|
|
||||||
a legacy checkpoint model and needs to be converted using the
|
|
||||||
`invoke` command-line client and its `!optimize` command. You
|
|
||||||
must select at least two models to merge. The third can be left at
|
|
||||||
"None" if you desire.
|
|
||||||
|
|
||||||
* Alpha -- This is the ratio to use when combining models. It ranges
|
|
||||||
from 0 to 1. The higher the value, the more weight is given to the
|
|
||||||
2d and (optionally) 3d models. So if you have two models named "A"
|
|
||||||
and "B", an alpha value of 0.25 will give you a merged model that is
|
|
||||||
25% A and 75% B.
|
|
||||||
|
|
||||||
* Interpolation Method -- This is the method used to combine
|
|
||||||
weights. The options are "weighted_sum" (the default), "sigmoid",
|
|
||||||
"inv_sigmoid" and "add_difference". Each produces slightly different
|
|
||||||
results. When three models are in use, only "add_difference" is
|
|
||||||
available. (TODO: cite a reference that describes what these
|
|
||||||
interpolation methods actually do and how to decide among them).
|
|
||||||
|
|
||||||
* Force -- Not all models are compatible with each other. The merge
|
|
||||||
script will check for compatibility and refuse to merge ones that
|
|
||||||
are incompatible. Set this checkbox to try merging anyway.
|
|
||||||
|
|
||||||
* Name for merged model - This is the name for the new model. Please
|
|
||||||
use InvokeAI conventions - only alphanumeric letters and the
|
|
||||||
characters ".+-".
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user