From 9a9f3daf8e6759fd7b3397007c2195ce18dd431b Mon Sep 17 00:00:00 2001
From: leejet
Date: Sun, 19 Nov 2023 17:43:49 +0800
Subject: [PATCH] feat: add LoRA support
---
README.md | 46 ++++-
assets/with_lcm.png | Bin 0 -> 609835 bytes
assets/without_lcm.png | Bin 0 -> 545398 bytes
examples/main.cpp | 13 +-
models/convert.py | 128 +++++++++++--
stable-diffusion.cpp | 413 ++++++++++++++++++++++++++++++++++++++++-
stable-diffusion.h | 9 +-
7 files changed, 573 insertions(+), 36 deletions(-)
create mode 100644 assets/with_lcm.png
create mode 100644 assets/without_lcm.png
diff --git a/README.md b/README.md
index 96b9e73..5b19fc9 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,8 @@ Inference of [Stable Diffusion](https://github.com/CompVis/stable-diffusion) in
- Original `txt2img` and `img2img` mode
- Negative prompt
- [stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui) style tokenizer (not all the features, only token weighting for now)
+- LoRA support, same as [stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features#lora)
+- Latent Consistency Models support(LCM/LCM-LoRA)
- Sampling method
- `Euler A`
- `Euler`
@@ -42,7 +44,6 @@ Inference of [Stable Diffusion](https://github.com/CompVis/stable-diffusion) in
- [ ] Make inference faster
- The current implementation of ggml_conv_2d is slow and has high memory usage
- [ ] Continuing to reduce memory usage (quantizing the weights of ggml_conv_2d)
-- [ ] LoRA support
- [ ] k-quants support
## Usage
@@ -125,6 +126,7 @@ arguments:
-t, --threads N number of threads to use during computation (default: -1).
If threads <= 0, then threads will be set to the number of CPU physical cores
-m, --model [MODEL] path to model
+ --lora-model-dir [DIR] lora model directory
-i, --init-img [IMAGE] path to the input image, required by img2img
-o, --output OUTPUT path to write result image to (default: .\output.png)
-p, --prompt [PROMPT] the prompt to render
@@ -134,11 +136,12 @@ arguments:
1.0 corresponds to full destruction of information in init image
-H, --height H image height, in pixel space (default: 512)
-W, --width W image width, in pixel space (default: 512)
- --sampling-method {euler, euler_a, heun, dpm++2m, dpm++2mv2, lcm}
+ --sampling-method {euler, euler_a, heun, dpm2, dpm++2s_a, dpm++2m, dpm++2mv2, lcm}
sampling method (default: "euler_a")
--steps STEPS number of sample steps (default: 20)
--rng {std_default, cuda} RNG (default: cuda)
-s SEED, --seed SEED RNG seed (default: 42, use random seed for < 0)
+ --schedule {discrete, karras} Denoiser sigma schedule (default: discrete)
-v, --verbose print extra info
```
@@ -167,6 +170,45 @@ Using formats of different precisions will yield results of varying quality.
+#### with LoRA
+
+- convert lora weights to ggml model format
+
+ ```shell
+ cd models
+ python convert.py [path to weights] --lora
+ # For example, python convert.py marblesh.safetensors
+ ```
+
+- You can specify the directory where the lora weights are stored via `--lora-model-dir`. If not specified, the default is the current working directory.
+
+- LoRA is specified via prompt, just like [stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features#lora).
+
+Here's a simple example:
+
+```
+./bin/sd -m ../models/v1-5-pruned-emaonly-ggml-model-f16.bin -p "a lovely cat" --lora-model-dir ../models
+```
+
+`../models/marblesh-ggml-lora.bin` will be applied to the model
+
+#### LCM/LCM-LoRA
+
+- Download LCM-LoRA form https://huggingface.co/latent-consistency/lcm-lora-sdv1-5
+- Specify LCM-LoRA by adding `` to prompt
+- It's advisable to set `--cfg-scale` to `1.0` instead of the default `7.0`. For `--steps`, a range of `2-8` steps is recommended. For `--sampling-method`, `lcm`/`euler_a` is recommended.
+
+Here's a simple example:
+
+```
+./bin/sd -m ../models/v1-5-pruned-emaonly-ggml-model-f16.bin -p "a lovely cat" --steps 4 --lora-model-dir ../models -v --cfg-scale 1
+```
+
+| without LCM-LoRA (--cfg-scale 7) | with LCM-LoRA (--cfg-scale 1) |
+| ---- |---- |
+|  | |
+
+
### Docker
#### Building using Docker
diff --git a/assets/with_lcm.png b/assets/with_lcm.png
new file mode 100644
index 0000000000000000000000000000000000000000..70e2c700cef5cd3a4a87e6ecad9e09046519d819
GIT binary patch
literal 609835
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