Home Artists Posts Import Register

Content

Developing a project on top of Stable Diffusion is a lot more chaotic than developing a regular project.
I don't have a stable base code to work on, instead it's a cascade of multiple unstable projects, one on top of another.

On top is Emad and the main source of SD:
They work hard on improving SD, releasing new versions of SD.
Each version have their own architecture, improvements and broken stuff.

Next week will be released a new SD method, a lot faster, and the current 2.1 don't even have a stable code yet.

Then there is the community:
Trying to make all those models work in harmony, making the new code support the new models without breaking the older models, since even 1.4 still hold value.

On top of supporting all model versions, there is also some extra stuff to take care, like new schedulers, dreambooth, converter tools, speed and memory.

And on the bottom, there is the GUI:
It would be easier to just keep making the code stable for model 1.4 and 1.5 and simple ignore everything else, but this is not my focus. I want it to be able to handle it all. The bad aspect of this, is that I'm also constantly running with Emad and the community to make it all "work" almost in real time. Three layer of unstable code stacked on top of each other.
There is also some aspects on software development that is hard to predict. I had to idea that there would me that much models, or that fast. The same with schedulers. So this information was hard-coded. So now it took some time to make this information to be flexible, with that, new bugs on top of the 3 unstable layers.
How does one predict that there will be a model that use depth as input? Programming is constantly scraping code and trying to not create a spaghetti that make it impossible to update later on.

The good news is that as more time passes, the more stable the 3 layers of code get. As soon as "Model loading" get stable, it will get harder to break again. So now while i'm fixing the problems on 0.60 lets hope that the new method that SD will release soon will not make all layers get all chaotic again.
Ps. I'm still have a lot of messages to answer, but i'm focus on fixing all the stuff on SD. Will answer all soon.

Comments

Anonymous

Thanks for that perspective GRisk. This is called cutting edge development. IMO. You are delivering value to us. But it is also challenging, for the reasons you stated. Thanks for your work. Then shifting topics - SD2.1 is a weird animal and I barely use it after running some tests. Outlandish images of faces and I was like...I'm out. Anything v3 model is great but 1.4 and 1.5 still doing the bulk of work over here. Can anyone comment on what 2.1 is good at or produced good results for you?

Anonymous

Does this support safetensors format?