Skip to content

feat: support new chroma radiance "x0_x32_proto" - #1209

Merged
leejet merged 2 commits into
leejet:masterfrom
stduhpf:x0
Jan 19, 2026
Merged

feat: support new chroma radiance "x0_x32_proto"#1209
leejet merged 2 commits into
leejet:masterfrom
stduhpf:x0

Conversation

@stduhpf

@stduhpf stduhpf commented Jan 18, 2026

Copy link
Copy Markdown
Contributor

https://huggingface.co/lodestones/Chroma1-Radiance/tree/main

I also made sure to keep compatibility with the older "x0_experimental_patch_32" model (this one was using 2x downscaling before 16x16 patches instead of actual 32x32 patches like the new one).

@leejet
leejet merged commit b87fe13 into leejet:master Jan 19, 2026
14 checks passed
@leejet

leejet commented Jan 19, 2026

Copy link
Copy Markdown
Owner

Thank you for your contribution.

@Green-Sky

Green-Sky commented Feb 11, 2026

Copy link
Copy Markdown
Contributor

@stduhpf how did you get the models to convert?
I think ggml really does not like zero sized tensors. They are also technically unsupported.


I wanted to check out the latest. It is apparently now training on 1024x1024.

@stduhpf

stduhpf commented Feb 11, 2026

Copy link
Copy Markdown
Contributor Author

@Green-Sky

Green-Sky commented Feb 11, 2026

Copy link
Copy Markdown
Contributor

Odd, I have that. I tried various states of this repo now. I always get some variant of

Thread 2 "sd-cli" received signal SIGFPE, Arithmetic exception.

When I try to convert.

edit: with a bogus source code location. (yes without optimizations too)

@stduhpf

stduhpf commented Feb 11, 2026

Copy link
Copy Markdown
Contributor Author

Weird, it still seems to work fine on my machine. Maybe that's a windows vs posix thing.

What if you set tensor->ne to be all 1 in model.cpp line 1753 onwards?

Edit: tried it on WSL, I can confirm it doesn't work there.

@Green-Sky

Copy link
Copy Markdown
Contributor

asan/ubsan tells me there is a division by zero here:

(int)tensor_storage.nelements() / (int)tensor_storage.ne[0],

@stduhpf

stduhpf commented Feb 11, 2026

Copy link
Copy Markdown
Contributor Author

Well then i don't think there is an easy fix or workaround we could use on the stable-diffusion.cpp side to make it work on Linux like it does on windows. The best way to handle it would probably to add proper support for zero-sized tensors in ggml directly.

@Green-Sky

Green-Sky commented Feb 11, 2026

Copy link
Copy Markdown
Contributor

I would feel more comfortable with metadata. Or if we really need it single scalars. ggml/gguf walked away from zero sized tensors.


Oh and I got it to work anyway by adding a ne[0] > 0 check before that conversion line.

@stduhpf

stduhpf commented Feb 11, 2026

Copy link
Copy Markdown
Contributor Author

Oh, you're right, this works. For some reason I assumed the division by zero had to happen in ggml and didn't even check your comment properly.

@Green-Sky

Copy link
Copy Markdown
Contributor
output

I am a little confused about flash attention. It seems that it does not reduce the memory consumption at all. It does how ever slightly speed things up by ~10%. Kinda odd.

Also cool to see the image compose with --preview vae, seems like the last few steps end up destroying the image somewhat.

@stduhpf
stduhpf deleted the x0 branch June 14, 2026 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants