From 58735a2813f99e2d8ec8c0f382f7b91e16205ce0 Mon Sep 17 00:00:00 2001
From: leejet <31925346+leejet@users.noreply.github.com>
Date: Wed, 16 Aug 2023 01:48:07 +0800
Subject: [PATCH] feat: add img2img mode (#5)
---
CMakeLists.txt | 2 +-
README.md | 24 +-
assets/img2img_output.png | Bin 0 -> 601031 bytes
main.cpp | 119 +-
stable-diffusion.cpp | 552 ++-
stable-diffusion.h | 14 +-
stb_image.h | 7987 +++++++++++++++++++++++++++++++++++++
7 files changed, 8658 insertions(+), 40 deletions(-)
create mode 100644 assets/img2img_output.png
create mode 100644 stb_image.h
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3557b8c..158eeed 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,7 +7,7 @@ set(SD_TARGET sd)
add_subdirectory(ggml)
add_library(${SD_LIB} stable-diffusion.h stable-diffusion.cpp)
-add_executable(${SD_TARGET} main.cpp stb_image_write.h)
+add_executable(${SD_TARGET} main.cpp stb_image.h stb_image_write.h)
target_link_libraries(${SD_LIB} PUBLIC ggml)
target_link_libraries(${SD_TARGET} ${SD_LIB})
diff --git a/README.md b/README.md
index a2b02b5..dfc146d 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ Inference of [Stable Diffusion](https://github.com/CompVis/stable-diffusion) in
- 4-bit, 5-bit and 8-bit integer quantization support
- Accelerated memory-efficient CPU inference
- AVX, AVX2 and AVX512 support for x86 architectures
-- Original `txt2img` mode
+- Original `txt2img` and `img2img` mode
- Negative prompt
- Sampling method
- `Euler A`
@@ -24,7 +24,6 @@ Inference of [Stable Diffusion](https://github.com/CompVis/stable-diffusion) in
### TODO
-- [ ] Original `img2img` mode
- [ ] More sampling methods
- [ ] GPU support
- [ ] Make inference faster
@@ -97,13 +96,17 @@ usage: ./sd [arguments]
arguments:
-h, --help show this help message and exit
+ -M, --mode [txt2img or img2img] generation mode (default: txt2img)
-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 cores
+ If threads <= 0, then threads will be set to the number of CPU physical cores
-m, --model [MODEL] path to model
+ -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
-n, --negative-prompt PROMPT the negative prompt (default: "")
--cfg-scale SCALE unconditional guidance scale: (default: 7.0)
+ --strength STRENGTH strength for noising/unnoising (default: 0.75)
+ 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)
--sample-method SAMPLE_METHOD sample method (default: "eular a")
@@ -112,7 +115,7 @@ arguments:
-v, --verbose print extra info
```
-For example
+#### txt2img example
```
./sd -m ../models/sd-v1-4-ggml-model-f16.bin -p "a lovely cat"
@@ -124,6 +127,19 @@ Using formats of different precisions will yield results of varying quality.
| ---- |---- |---- |---- |---- |---- |---- |
|  | | | | | | |
+#### img2img example
+
+- `./output.png` is the image generated from the above txt2img pipeline
+
+
+```
+./sd --mode img2img -m ../models/sd-v1-4-ggml-model-f16.bin -p "cat with blue eyes" -i ./output.png -o ./img2img_output.png --strength 0.4
+```
+
+
+
+
+
## Memory/Disk Requirements
| precision | f32 | f16 |q8_0 |q5_0 |q5_1 |q4_0 |q4_1 |
diff --git a/assets/img2img_output.png b/assets/img2img_output.png
new file mode 100644
index 0000000000000000000000000000000000000000..80579a184f1597d8eea1df05e5b8e94c67f2a907
GIT binary patch
literal 601031
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