mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
ec2dc24ad7
* Squashed commit of the following: commit82d9c25d9a
Author: mauwii <Mauwii@outlook.de> Date: Wed Sep 14 19:29:11 2022 +0200 fix branch name in mkdocs-flow commit2e276cecc1
Author: mauwii <Mauwii@outlook.de> Date: Wed Sep 14 19:28:35 2022 +0200 fix theme name commit2eb77c1173
Author: mauwii <Mauwii@outlook.de> Date: Wed Sep 14 19:14:42 2022 +0200 fixed some links and formating in main README commit66a7152e48
Author: mauwii <Mauwii@outlook.de> Date: Wed Sep 14 08:58:58 2022 +0200 trigger mkdocs deployment on main commit897cc373ce
Merge:89da371
3b5a830
Author: Matthias Wild <40327258+mauwii@users.noreply.github.com> Date: Wed Sep 14 07:51:23 2022 +0200 Merge pull request #1 from mauwii/mkdocs Mkdocs commit3b5a8308eb
Author: mauwii <Mauwii@outlook.de> Date: Wed Sep 14 07:42:56 2022 +0200 huge update I was pretty busy trying to make the Readmes / docs look good in MkDocs commit0b4f5a926f
Author: mauwii <Mauwii@outlook.de> Date: Wed Sep 14 07:41:45 2022 +0200 update mkdocs config commit872172ea70
Author: mauwii <Mauwii@outlook.de> Date: Wed Sep 14 07:33:49 2022 +0200 added the mkdocs-git-revision-date-plugin commiteac81bf875
Author: mauwii <Mauwii@outlook.de> Date: Wed Sep 14 06:46:43 2022 +0200 add prettier config remove markdownlint move and rename requirements-mkdocs.txt commitb36d4cc088
Author: mauwii <Mauwii@outlook.de> Date: Wed Sep 14 02:06:39 2022 +0200 add dark theme commita14f18fede
Author: mauwii <Mauwii@outlook.de> Date: Wed Sep 14 01:38:02 2022 +0200 update mkdocs flow and config commit2764b48693
Author: mauwii <Mauwii@outlook.de> Date: Wed Sep 14 01:15:33 2022 +0200 add mkdocs workflow commit1bd22523b1
Author: mauwii <Mauwii@outlook.de> Date: Wed Sep 14 00:57:37 2022 +0200 I already begun with formating / revising the sites * change repository in mkdocs config to lstein * adapt changes from repos main README.md Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
138 lines
5.4 KiB
Markdown
138 lines
5.4 KiB
Markdown
---
|
|
title: Others
|
|
---
|
|
|
|
## **Google Colab**
|
|
|
|
Stable Diffusion AI Notebook: <a
|
|
href="https://colab.research.google.com/github/lstein/stable-diffusion/blob/main/notebooks/Stable_Diffusion_AI_Notebook.ipynb"
|
|
target="_parent">
|
|
<img
|
|
src="https://colab.research.google.com/assets/colab-badge.svg"
|
|
alt="Open In Colab"/></a> <br> Open and follow instructions to use an isolated environment running
|
|
Dream.<br>
|
|
|
|
Output Example: ![Colab Notebook](../assets/colab_notebook.png)
|
|
|
|
---
|
|
|
|
## **Seamless Tiling**
|
|
|
|
The seamless tiling mode causes generated images to seamlessly tile with itself. To use it, add the
|
|
`--seamless` option when starting the script which will result in all generated images to tile, or
|
|
for each `dream>` prompt as shown here:
|
|
|
|
```python
|
|
dream> "pond garden with lotus by claude monet" --seamless -s100 -n4
|
|
```
|
|
|
|
---
|
|
|
|
## **Reading Prompts from a File**
|
|
|
|
You can automate `dream.py` by providing a text file with the prompts you want to run, one line per
|
|
prompt. The text file must be composed with a text editor (e.g. Notepad) and not a word processor.
|
|
Each line should look like what you would type at the dream> prompt:
|
|
|
|
```bash
|
|
a beautiful sunny day in the park, children playing -n4 -C10
|
|
stormy weather on a mountain top, goats grazing -s100
|
|
innovative packaging for a squid's dinner -S137038382
|
|
```
|
|
|
|
Then pass this file's name to `dream.py` when you invoke it:
|
|
|
|
```bash
|
|
(ldm) ~/stable-diffusion$ python3 scripts/dream.py --from_file "path/to/prompts.txt"
|
|
```
|
|
|
|
You may read a series of prompts from standard input by providing a filename of `-`:
|
|
|
|
```bash
|
|
(ldm) ~/stable-diffusion$ echo "a beautiful day" | python3 scripts/dream.py --from_file -
|
|
```
|
|
|
|
---
|
|
|
|
## **Shortcuts: Reusing Seeds**
|
|
|
|
Since it is so common to reuse seeds while refining a prompt, there is now a shortcut as of version
|
|
1.11. Provide a `**-S**` (or `**--seed**`) switch of `-1` to use the seed of the most recent image
|
|
generated. If you produced multiple images with the `**-n**` switch, then you can go back further
|
|
using -2, -3, etc. up to the first image generated by the previous command. Sorry, but you can't go
|
|
back further than one command.
|
|
|
|
Here's an example of using this to do a quick refinement. It also illustrates using the new `**-G**`
|
|
switch to turn on upscaling and face enhancement (see previous section):
|
|
|
|
```bash
|
|
dream> a cute child playing hopscotch -G0.5
|
|
[...]
|
|
outputs/img-samples/000039.3498014304.png: "a cute child playing hopscotch" -s50 -W512 -H512 -C7.5 -mk_lms -S3498014304
|
|
|
|
# I wonder what it will look like if I bump up the steps and set facial enhancement to full strength?
|
|
dream> a cute child playing hopscotch -G1.0 -s100 -S -1
|
|
reusing previous seed 3498014304
|
|
[...]
|
|
outputs/img-samples/000040.3498014304.png: "a cute child playing hopscotch" -G1.0 -s100 -W512 -H512 -C7.5 -mk_lms -S3498014304
|
|
```
|
|
|
|
---
|
|
|
|
## **Weighted Prompts**
|
|
|
|
You may weight different sections of the prompt to tell the sampler to attach different levels of
|
|
priority to them, by adding `:(number)` to the end of the section you wish to up- or downweight. For
|
|
example consider this prompt:
|
|
|
|
```bash
|
|
tabby cat:0.25 white duck:0.75 hybrid
|
|
```
|
|
|
|
This will tell the sampler to invest 25% of its effort on the tabby cat aspect of the image and 75%
|
|
on the white duck aspect (surprisingly, this example actually works). The prompt weights can use any
|
|
combination of integers and floating point numbers, and they do not need to add up to 1.
|
|
|
|
---
|
|
|
|
## **Simplified API**
|
|
|
|
For programmers who wish to incorporate stable-diffusion into other products, this repository
|
|
includes a simplified API for text to image generation, which lets you create images from a prompt
|
|
in just three lines of code:
|
|
|
|
```bash
|
|
from ldm.generate import Generate
|
|
g = Generate()
|
|
outputs = g.txt2img("a unicorn in manhattan")
|
|
```
|
|
|
|
Outputs is a list of lists in the format [filename1,seed1],[filename2,seed2]...].
|
|
|
|
Please see ldm/generate.py for more information. A set of example scripts is coming RSN.
|
|
|
|
---
|
|
|
|
## **Preload Models**
|
|
|
|
In situations where you have limited internet connectivity or are blocked behind a firewall, you can
|
|
use the preload script to preload the required files for Stable Diffusion to run.
|
|
|
|
The preload script `scripts/preload_models.py` needs to be run once at least while connected to the
|
|
internet. In the following runs, it will load up the cached versions of the required files from the
|
|
`.cache` directory of the system.
|
|
|
|
```bash
|
|
(ldm) ~/stable-diffusion$ python3 ./scripts/preload_models.py
|
|
preloading bert tokenizer...
|
|
Downloading: 100%|██████████████████████████████████| 28.0/28.0 [00:00<00:00, 49.3kB/s]
|
|
Downloading: 100%|██████████████████████████████████| 226k/226k [00:00<00:00, 2.79MB/s]
|
|
Downloading: 100%|██████████████████████████████████| 455k/455k [00:00<00:00, 4.36MB/s]
|
|
Downloading: 100%|██████████████████████████████████| 570/570 [00:00<00:00, 477kB/s]
|
|
...success
|
|
preloading kornia requirements...
|
|
Downloading: "https://github.com/DagnyT/hardnet/raw/master/pretrained/train_liberty_with_aug/checkpoint_liberty_with_aug.pth" to /u/lstein/.cache/torch/hub/checkpoints/checkpoint_liberty_with_aug.pth
|
|
100%|███████████████████████████████████████████████| 5.10M/5.10M [00:00<00:00, 101MB/s]
|
|
...success
|
|
```
|