Releases: DarthAffe/StableDiffusion.NET
3.2.0
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
- SD3.5 by @DarthAffe in #35
Full Changelog: 3.1.1...3.2.0
3.1.1
What's Changed
- Hopefully fixed CUDA 11 build by @DarthAffe in #29
- Fixed wrong free of upscaled images by @DarthAffe in #33
Full Changelog: 3.1.0...3.1.1
3.1.0
What's Changed
- Added IPNDM and IPNDM_V sampler; added GITS and exponential schedule by @DarthAffe in #27
- Vulkan backend by @DarthAffe in #26
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
@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:
- Rename all usages of
StableDiffusionModel
toDiffusionModel
. - Rename all usages of
StableDiffusionParameter
toDiffusionParameter
. - If you use upscaling, migrate to the new
UpscaleModel
- it's no longer part of the diffusion model. - Change all static-operations (logs, custom native library loading, system info) from using
StableDiffusionModel
toStableDiffusionCpp
- 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
- Flux-support by @DarthAffe in #24
- Update README.md by @DarthAffe in #25
Full Changelog: 2.2.1...3.0.0
Based on: https://github.com/leejet/stable-diffusion.cpp/releases/tag/master-5c561ea
2.2.1
What's Changed
- Fixed macOS builds by @DarthAffe in #21
- SYCL support by @DarthAffe in #23
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
What's Changed
- Allow manually loading SD library by @drasticactions in #19
- Splitted CUDA-backend to prevent them hitting the nuget size limit by @DarthAffe in #20
New Contributors
- @drasticactions made their first contribution in #19
Full Changelog: 2.1.0...2.2.0
2.1.0
What's Changed
- Updated backends build-file by @DarthAffe in #15
- Updated example, to v2.0.0; added Image2Image to example by @DarthAffe in #16
- Update build.bat by @DarthAffe in #17
- Added new quanization-types by @DarthAffe in #18
Full Changelog: 2.0.0...2.1.0
2.0.0
What's Changed
- Added Parameter validation by @DarthAffe in #7
- Changed everything image-related to use HPPH by @DarthAffe in #12
- Updated readme by @DarthAffe in #13
Full Changelog: 1.2.0...2.0.0
1.2.0
What's Changed
- Rocm Backend: Fix regex for detecting version in Linux by @DGdev91 in #4
- Updated stable-diffusion.cpp to ce1bcc7 by @DarthAffe
- The typo in the name of the backend-packages got fixed, make sure to reference the new ones!
New Contributors
Full Changelog: 1.1.0...1.2.0
1.1.0
Full Changelog: 1.0.0...1.1.0