Commit Graph
21 Commits
Author SHA1 Message Date
Erik Scholzandleejet f2e4d9793b fix: avoid some memory leaks (#136)
---------

Co-authored-by: leejet <leejet714@gmail.com>
2024-01-01 23:27:29 +08:00
Erik Scholz 4a5e7b58e2 fix: never use a log message as a format string (#135) 2024-01-01 20:43:47 +08:00
leejet 2e79a82f85 refactor: reorganize code and use c api (#133) 2024-01-01 16:22:18 +08:00
Steward Garciaandleejet 004dfbef27 feat: implement ESRGAN upscaler + Metal Backend (#104)
* add esrgan upscaler

* add sd_tiling

* support metal backend

* add clip_skip

---------

Co-authored-by: leejet <leejet714@gmail.com>
2023-12-28 23:46:48 +08:00
Steward Garciaandleejet 134883aec4 feat: add TAESD implementation - faster autoencoder (#88)
* add taesd implementation

* taesd gpu offloading

* show seed when generating image with -s -1

* less restrictive with larger images

* cuda: im2col speedup x2

* cuda: group norm speedup x90

* quantized models now works in cuda :)

* fix cal mem size

---------

Co-authored-by: leejet <leejet714@gmail.com>
2023-12-05 22:40:03 +08:00
leejet d7af2c2ba9 feat: load weights from safetensors and ckpt (#101) 2023-12-03 15:47:20 +08:00
Erik Scholz f469b835a3 fix: reading memory of stack allocated object past its scope (#91) 2023-11-27 21:37:12 +08:00
Steward Garciaandleejet 8124588cf1 feat: ggml-alloc integration and gpu acceleration (#75)
* set ggml url to FSSRepo/ggml

* ggml-alloc integration

* offload all functions to gpu

* gguf format + native converter

* merge custom vae to a model

* full offload to gpu

* improve pretty progress

---------

Co-authored-by: leejet <leejet714@gmail.com>
2023-11-26 19:02:36 +08:00
leejet 176a00b606 chore: add .clang-format 2023-11-19 19:35:33 +08:00
leejet 9a9f3daf8e feat: add LoRA support 2023-11-19 17:43:49 +08:00
leejet 536f3af672 feat: add lcm sampler support
This referenced an issue discussion of the stable-diffusion-webui at
https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/13952, which
may not be too perfect.
2023-11-17 22:53:46 +08:00
Urs Ganseandleejet afec5051cf feat: write generation parameter exif data into output png (#57)
* Write generation parameter exif data into output pngs.

This adds prompt, negative prompt (if nonempty) and other generation
parameters to the output file as a tEXt PNG block, in the same format as
AUTOMATIC1111 webui does.

In order to keep everything free of external library dependencies, I
have somewhat dirtily hacked this into the stb_image_write
implementation.

* Mention png text data in README.md, include "karras" in sampler text

* add Steps/Model/RNG to parameter string

---------

Co-authored-by: leejet <leejet714@gmail.com>
2023-09-18 21:09:15 +08:00
Urs Ganseandleejet 3a25179d52 feat: add DPM2 and DPM++(2s) a samplers (#56)
* Add DPM2 sampler.

* Add DPM++ (2s) a sampler.

* Update README.md with added samplers

---------

Co-authored-by: leejet <leejet714@gmail.com>
2023-09-12 23:02:09 +08:00
Urs Ganse 968fbf02aa feat: add option to switch the sigma schedule (#51)
Concretely, this allows switching to the "Karras" schedule from the
Karras et al 2022 paper, equivalent to the samplers marked as "Karras"
in the AUTOMATIC1111 WebUI. This choice is in principle orthogonal to
the sampler choice and can be given independently.
2023-09-09 00:02:07 +08:00
b6899e8fc2 feat: add Euler, Heun and DPM++ (2M) samplers (#50)
* Add Euler sampler

* Add Heun sampler

* Add DPM++ (2M) sampler

* Add modified DPM++ (2M) "v2" sampler.

This was proposed in a issue discussion of the stable diffusion webui,
at https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/8457
and apparently works around overstepping of the DPM++ (2M) method with
small step counts.

The parameter is called dpmpp2mv2 here.

* match code style

---------

Co-authored-by: Urs Ganse <urs@nerd2nerd.org>
Co-authored-by: leejet <leejet714@gmail.com>
2023-09-08 23:47:28 +08:00
leejet b85b236b13 feat: set default rng to cuda 2023-09-04 21:46:54 +08:00
leejet cf38e238d4 fix: width and height should be a multiple of 64 2023-09-04 20:49:52 +08:00
leejet 45842865ff fix: seed should be 64 bit 2023-09-03 20:08:22 +08:00
leejet e5a7aec252 feat: add CUDA RNG 2023-09-03 19:24:07 +08:00
leejet 0d7f04b135 feat: print seed value when args.seed < 0 2023-08-22 23:03:17 +08:00
Erik Scholzandleejet 844351c417 feat: cmake improvements and simple ci (#9)
* move main and stb-libs to subfolder

* cmake : general additions

* ci : add simple building

---------

Co-authored-by: leejet <31925346+leejet@users.noreply.github.com>
2023-08-17 21:09:57 +08:00