InvokeAI/docs/features/CONCEPTS.md
2023-05-28 19:51:18 -04:00

5.1 KiB

title
Concepts Library

:material-library-shelves: The Hugging Face Concepts Library and Importing Textual Inversion files

Using Textual Inversion Files

Textual inversion (TI) files are small models that customize the output of Stable Diffusion image generation. They can augment SD with specialized subjects and artistic styles. They are also known as "embeds" in the machine learning world.

Each TI file introduces one or more vocabulary terms to the SD model. These are known in InvokeAI as "triggers." Triggers are often, but not always, denoted using angle brackets as in "<trigger-phrase>". The two most common type of 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 built-in TI training system produces .pt.

The Hugging Face company has amassed a large ligrary of >800 community-contributed TI files covering a broad range of subjects and styles. InvokeAI has built-in support for this library which downloads and merges TI files automatically upon request. You can also install your own or others' TI files by placing them in a designated directory.

An Example

Here are a few examples to illustrate how it works. All these images were generated using the command-line client and the Stable Diffusion 1.5 model:

Japanese gardener Japanese gardener <ghibli-face> Japanese gardener <hoi4-leaders> Japanese gardener <cartoona-animals>

You can also combine styles and concepts:

| A portrait of <alf> in <cartoona-animal> style | | :--------------------------------------------------------: | | ![](../assets/concepts/image5.png) |
## Using a Hugging Face Concept

!!! warning "Authenticating to HuggingFace"

Some concepts require valid authentication to HuggingFace. Without it, they will not be downloaded
and will be silently ignored.

If you used an installer to install InvokeAI, you may have already set a HuggingFace token.
If you skipped this step, you can:

- run the InvokeAI configuration script again (if you used a manual installer): `invokeai-configure`
- set one of the `HUGGINGFACE_TOKEN` or `HUGGING_FACE_HUB_TOKEN` environment variables to contain your token

Finally, if you already used any HuggingFace library on your computer, you might already have a token
in your local cache. Check for a hidden `.huggingface` directory in your home folder. If it
contains a `token` file, then you are all set.

Hugging Face TI concepts are downloaded and installed automatically as you require them. This requires your machine to be connected to the Internet. To find out what each concept is for, you can browse the Hugging Face concepts library and look at examples of what each concept produces.

To load concepts, you will need to open the Web UI's configuration dialogue and activate "Show Textual Inversions from HF Concepts Library". This will then add a list of HF Concepts to the dropdown "Add Textual Inversion" menu. Select the concept(s) of your choice and they will be incorporated into the positive prompt. A few concepts are designed for the negative prompt, in which case you can add them to the negative prompt box by select the down arrow icon next to the textual inversion menu.

There are nearly 1000 HF concepts, more than will fit into a menu. For this reason we only show the most popular concepts (those which have received 5 or more likes). If you wish to use a concept that is not on the list, you may simply type its name surrounded by brackets. For example, to load the concept named "xidiversity", add <xidiversity> to the positive or negative prompt text.

Installing your Own TI Files

You may install any number of .pt and .bin files simply by copying them into the embeddings directory of the InvokeAI runtime directory (usually invokeai in your home directory). You may create subdirectories in order to organize the files in any way you wish. Be careful not to overwrite one file with another. For example, TI files generated by the Hugging Face toolkit share the named learned_embedding.bin. You can use subdirectories to keep them distinct.

At startup time, InvokeAI will scan the embeddings directory and load any TI files it finds there. At startup you will see a message similar to this one:

>> Current embedding manager terms: <HOI4-Leader>, <princess-knight>

The terms you can use will appear in the "Add Textual Inversion" dropdown menu above the HF Concepts.

Further Reading

Please see the repository and associated paper for details and limitations.