Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

uhhh button. button for. button for gui sliders allowing post-hoc noi… #190

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

SQCU
Copy link

@SQCU SQCU commented Nov 29, 2024

yeah this is a real pain. for me.
i was privately maintaining some interface code supporting the ad hoc adjustment of the noise generating function at inference time to track experiments w/ different noise generating functions on fine tuned models.
some recent 'backporting' broke all of my previous interface code, changed some of the internal calling order of the functions requiring some rewrites, and also introduced some new bugs which i do not think i fully fixed.

i would recommend taking a look at the 'register_schedule...' line in this repository, since it might help with whatever bug brought about the comment re: non-ztsnr 'advanced model sampling' in line 10 of advanced_model_sampling_script_backported.py.

i would also kindly request other gui maintainers to please avoid making changes which break patches like these in the future, since i would really like to be able to submit patches allowing the inference-time-testing of experimental model training features by machine learning hobbyist practitioners.

figure 1: shows non-ztsnr inference working with v prediction enabled, ztsnr disabled, goofysampling betascale enabled, and a manually specified linear beta schedule selected in the user interface.
firefox_2024-11-29_00-02-19

@Panchovix
Copy link
Owner

Hi there, thanks for the PR, I have no issues to merge this.

But I cant' quite understand the issue, you mean after backporting the advanced model sampling extension to main branch, you started to get issues?

@SQCU
Copy link
Author

SQCU commented Nov 30, 2024

if it helps better situate the issue:
I found that using the most recent mainline version of reforge (I was on some older branch set to the deprecated 'dev_upstream' branch, and resynchronized my local repository with yesterday's 958c6f7 commit.) I got basically incorrect samples from v prediction models using the 'advanced model sampling' builtin extension, which visually appeared as if the model was being sampled with an 'epsilon prediction' target instead of the 'v prediction target'.

however, I never diagnosed the exact cause for this issue, because porting the custom noise schedule user interface features into the up-to-date 'advanced model sampling for reforge (backported)' calling structure coincidentally fixed the v-prediction errors, discrete ztsnr errors, and also reproduced the shifted noise schedule features I'd been testing on the obsolete branch of reforge.
because the edits I tested work fine with normal epsilon prediction SDXL models using the normal schedulers, epsilon prediction models using epsilon sampling (with my noise schedule modifications disabled), i don't know for certain what the precipitating bug was, or how it was fixed. I don't mind at all if someone finds out which part of this bundle of features corresponds to the problem I was experiencing and hides the superficial gradio edits which expose the beta schedule controller either, but i'd hate it if anyone else ran into similar problems and couldn't reproduce historic prompts/seeds on non-ztsnr v prediction models or anything like that.

hope this writeup helps!

figure 1: initial sampling results, internal edit which wasn't respecting prediction target.
firefox_2024-11-29_20-03-38
figure 2: internal edit (?) respecting prediction target but not respecting min sigma and max sigma values set in reforge
firefox_2024-11-29_20-01-56
figure 3: patch tracking the commit hosted on my branch and this pull request: model is respecting prediction target, reproducing old query, seed, and parameter results, and rendering very-low-but-not-zero terminal signal to noise ratio schedules specified through the hacked-in beta schedule settings.
firefox_2024-11-29_20-02-15

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.

2 participants