Skip to content

Releases: DarthAffe/StableDiffusion.NET

3.4.0

05 Jan 14:08
d428835
Compare
Choose a tag to compare

What's Changed

  • Fixed Image2Image and added Inpainting support by @DarthAffe in #48

Full Changelog: 3.3.0...3.4.0

3.3.0

03 Jan 14:10
59133b2
Compare
Choose a tag to compare

Flash attention is the big thing in this version. With cuda it brings me a bit over 50% more performance with flux.
A lot has changed with the builds. Windows cuda and cpu are working, I can't test the rest - I hope they still work.

What's Changed

Full Changelog: 3.2.0...3.3.0

3.2.0

24 Oct 19:50
16d60ac
Compare
Choose a tag to compare

sd3.5 support was added to stable-diffusion.cpp and is now included. (Not really seeing much use for now, flux is faster and at least for me is consistently better quality)
Still not happy with the way the different models are used, but it works for now :p

What's Changed

Full Changelog: 3.1.1...3.2.0

3.1.1

17 Oct 19:27
d25eb97
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.1.0...3.1.1

3.1.0

28 Aug 21:57
7bd8fe7
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.0.0...3.1.0


Notes:

  • The vulkan backend is disabled by default as it seems not really that useful to me. It's quite slow and cuda/rocm/sycl are most likely always better options.
  • The new IPNDM scheduler causes crashes for me.
  • The improved VAE tiling seems to work way better than before. It's now a interesting option for low memory systems.
  • There where some changes to the conversion of flux models - consider reconverting them for slightly improved results.

Based on: https://github.com/leejet/stable-diffusion.cpp/releases/tag/master-e71ddce

3.0.0 - Flux

25 Aug 14:59
f988643
Compare
Choose a tag to compare

fluxnet

@leejet did it :) flux support got added to stable-diffusion.cpp.

Since the flux worklow is a bit different compared to stable diffusion I refactored the model creation to make that a bit easier. (I'm not super happy with the way it is now so it might change again in the future.)
This causes current code to break due to some renamings, api changes and changed default values.
The usage of the new fluent API is not enforced though, so a minimal migration would be:

  1. Rename all usages of StableDiffusionModel to DiffusionModel .
  2. Rename all usages of StableDiffusionParameter to DiffusionParameter.
  3. If you use upscaling, migrate to the new UpscaleModel - it's no longer part of the diffusion model.
  4. Change all static-operations (logs, custom native library loading, system info) from using StableDiffusionModel to StableDiffusionCpp
  5. Check your parameters as some defaults changed!

To use flux models you have to convert them to gguf. This can be done like this:

StableDiffusionCpp.Convert(@"<path to flux.safetensors>", string.Empty, Quantization.Q8_0, @"<output path flux_Q8_0.gguf>");

Example

The image above is created using this code:

using DiffusionModel model = ModelBuilder.Flux(@"<path>\flux1-dev_Q6_K.gguf",
                                               @"<path>\clip_l.safetensors",
                                               @"<path>\t5xxl_fp16.safetensors",
                                               @"<path>\ae.safetensors")
                                         .WithMultithreading()
                                         .Build();

IImage<ColorRGB> image = model.TextToImage("a big piece of parchment with a oil painting on it, the painting looks old with some cracks but is of high quality, it shows a lovely cat holding a sign reading 'flux.NET'");
File.WriteAllBytes("output.png", image.ToPng());

What's Changed

Full Changelog: 2.2.1...3.0.0


Based on: https://github.com/leejet/stable-diffusion.cpp/releases/tag/master-5c561ea

2.2.1

10 Aug 20:39
f7b7cd8
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2.2.0...2.2.1


Note: I've no idea if the SYCL-backend actually works, that's why it's disabled by default for now.
If you want to use it, it has to be enabled by calling Backends.SyclBackend.IsEnabled = true;. (Let me know if it works in that case :))

2.2.0

01 Aug 20:49
bccee9a
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 2.1.0...2.2.0

2.1.0

28 Jul 12:15
f21a3d8
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2.0.0...2.1.0

2.0.0

22 Jul 17:40
2895e0e
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.2.0...2.0.0