Coder Social home page Coder Social logo

Comments (3)

Luke2642 avatar Luke2642 commented on July 25, 2024 1

No problem, just wanted to say thanks again! I realise it's completely off topic putting more ideas in a bug report, but if I could brain dump here, maybe it's helpful, if not, just ignore it :-)

My theory is that all block merge extensions are hamstrung by the drop down box of options, gradV, gradA, wrap, cos, etc, yours is slightly better because it has the additional model b weight slider, but using it is confusing as 0.5 is a 1:1 multiplier on the block weights, and you have to 'apply' the from the slider to the textbox, which I personally hate.

As a work around, I've made up a huge excel sheet of weight patterns and formatted them in notepad++. Examples are:

  • 'gradV mild' which start at 0.5 and descend by 0.05 on both in and out
  • 'grad V very mild' 0.25 descending.
  • 'zero in 0.1 pyramid out' which has 0's on IN and rises by 0.1 then falls again over OUT.
  • 'gradA rising 0.1 delay 6' which has zeros for 6 blocks but then rises by 0.1.
  • 'Wrap 4 0.5' where the first 4 blocks on in and out are set to 0.5
  • etc

In other words, this list is very inefficient, but, it seems to have helped me narrow down the two strategies that can get move features across models without losing coherent structure or a blurry mess:

  1. Symmetrical changes across in and out, which I assume is due to the importance of skip connections,
  2. Softened bumps, which seems to make a more coherent change than just moving one slider without changing the blocks either side. Like cos/smoothstep. I very rarely find smoothstep^2/3/4 or cubic hermite useful on their own, they're far too strong.

So, to implement this quickly, couple of line buttons could help the user build up the merge weights in a lego brick modular way. I've also made the buttons the graph too, but it could be just two lines of buttons and vertical sliders or something.

image

Underneath you'd have labelled in sliders to modify how the click action impacts the weights:

  1. Step change size, from 0 to 1, which changes how big the change is when you click on a button. Default 0.3.
  2. Smoothness slider, from 1 to 13 in steps, which changes how the change tapers off. Default 5, so the immediate above/below blocks go up 4/5 of the value, and the next adjacent blocks go up 3/5, and so on.
  3. Symmetry radio buttons: on, off, inverse... so the user clicking e.g. IN04 also clicks OUT07.

The other quality of life feature missing during merging is using multiple prompts in one batch, so you can see how the change affects landscapes, architecture, close up faces, full body, etc. There are extensions that implement different prompts across a batch, so it is possible, and much faster than the xyz script which generates one image at at time.

from sd-webui-model-mixer.

wkpark avatar wkpark commented on July 25, 2024

Thank you for your bug report and suggestions!

from sd-webui-model-mixer.

wkpark avatar wkpark commented on July 25, 2024

this issue automatically closed by merging #37
thank you very much for sharing your idea! will look at it carefully later on

  • PR #40 - sync - "Make the sliders update the textbox in real time."
  • support fast partial UNet update
  • support partial textencoder(BASE) update with workaround
  • block level weights helper (as lego brick way or something to easily control merging block weights)
  • xyz + prompt batch

from sd-webui-model-mixer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.