"Please don't use HN primarily for promotion. It's ok to post your own stuff part of the time, but the primary use of the site should be for curiosity."
Apples to oranges, they're comparing 11 hours on a Raspberry Pi Zero to:
- 10 seconds on Intel i7-13700
- 3 seconds on Intel i9-9990XE
- 5 seconds on Ryzen 9-5900X
Additionally, the 2048 is accomplished by using RealESRGAN to 2x, which isn't close to what a native 2048 diffuser's quality would be.
It does look interesting and is an achievement, in terms of, it's hard to write this stuff from scratch, much less in pure C++ without relying on GPU.
You can do significantly higher resolutions with various tricks like tiled diffusion, which is also a memory efficiency hack. (The stable-diffusion-webui tiled diffusion extension uses 2560×1280 direct [no upscale step] generation with an SD 1.5-based model as one of its examples.)
No, tiled upscaling generally does not have that problem significantly (compared to direct generation at native model-supported size, which doesn't completely avoid that kind of issue), since the composition on that level is set before the upscale (direct tiled generation does, if you aren’t using something like controlnet to avoid it.)
> You don’t see problems like these in non scaled images.
You actually occasionally do, but its fairly rare.
I don't think that's right. SD xl is good starting from 1024. Anything lower generates a useless mess.
ONNX streaming is way cooler and more impressive than another commercial wrapper around SD. Doesn't deserve this.