Skip to content

WASasquatch/FreeU_Advanced

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FreeU Advanced Plus (And Post-CFG SHIFT)

Let's say you and I grab dinner, and movie after lunch? 🌃📺😏

image

Exmaple of default node settings applied across blocks.

default_block_examples default_block_examples_2 default_block_examples_3 default_block_examples_4 default_block_examples_5 default_block_examples_6 default_block_examples_7

Input Parameters

  • model (MODEL): Model to patch
  • target_block (COMBO): Which block to target; input_block, middle_block, and output_block
  • multiscale_mode (COMBO): A list of available multiscale modes:
    • ["Default", "Bandpass", "Low-Pass", "High-Pass", "Pass-Through", "Gaussian-Blur", "Edge-Enhancement", "Sharpen", "Multi-Bandpass", "Multi-Low-Pass", "Multi-High-Pass", "Multi-Pass-Through", "Multi-Gaussian-Blur", "Multi-Edge-Enhancement", "Multi-Sharpen"]
  • multiscale_strength (FLOAT, Default: 1.0, Range: [0.0, 1.0], Step: 0.001): Strength of scaling
  • b1_slice (INT, Default: 640, Range: [64, 1280], Step: 1): The size of the array slice for b1 operation
  • b2_slice (INT, Default: 640, Range: [64, 640], Step: 1): The size of the array slice for b2 operation
  • b1 (FLOAT, Default: 1.1, Range: [0.0, 10.0], Step: 0.001): b1 output multiplier
  • b2 (FLOAT, Default: 1.2, Range: [0.0, 10.0], Step: 0.001): b2 output multiplier
  • s1 (FLOAT, Default: 0.9, Range: [0.0, 10.0], Step: 0.001): s1 Fourier transform scale strength
  • s2 (FLOAT, Default: 0.2, Range: [0.0, 10.0], Step: 0.001): s2 Fourier transform scale strength

Optional Parameters

  • b1_mode (COMBO): Blending modes for b1 multiplied result.
    • ['bislerp', 'colorize', 'cosine interp', 'cuberp', 'hslerp', 'inject', 'lerp', 'linear dodge', 'slerp']
  • b1_blend (FLOAT, Default: 1.0, Range: [0.0, 100], Step: 0.001): Blending strength for b1.
  • b2_mode (COMBO): Blending modes for b2 multiplied result.
    • ['bislerp', 'colorize', 'cosine interp', 'cuberp', 'hslerp', 'inject', 'lerp', 'linear dodge', 'slerp']
  • b2_blend (FLOAT, Default: 1.0, Range: [0.0, 100], Step: 0.001): Blending strength for b2.
  • threshold (INT, Default: 1.0, Range: [1, 10], Step: 1): The exposed threshold value of the Fourier transform function.
  • use_override_scales (COMBO): "true", or "false" on whether to use override_scales
  • override_scales (STRING, Default: [Multiline String]): Override scales. Create custom scales and experiment with results.
    • Example 10, 1.5 would create the multiscale_mode effect Sharpen
    • You can use #, // and ! to comment out lines.

FreeU BibTex

@article{Si2023FreeU,
 author    = {Chenyang Si, Ziqi Huang, Yuming Jiang, Ziwei Liu},
 title     = {FreeU: Free Lunch in Diffusion U-Net},
 journal   = {arXiv},
 year      = {2023},
}

🗞️ License

Distributed under the MIT License. See LICENSE for more information.


Post-CFG SHIFT (Flux)

Post-CFG Stepwise Hybrid Inject + Fourier Tuning.

  • Runs after classifier-free guidance (CFG) merges cond/uncond each sampler step.
  • Modifies the sampler’s current denoised tensor (in VAE latent space in typical pipelines), not model weights.
  • Applies a hybrid blend between the denoised tensor and a scaled version, with optional frequency-domain shaping.

How it works

  1. Model predicts noise; CFG produces a denoised tensor for the current step.
  2. SHIFT blends denoised with denoised * b using the chosen mode and blend.
  3. Optionally applies Fourier_filter with per-scale controls.
  4. Applies a final force_gain multiplier.

Parameters

  • mode (combo): Blend strategy for denoised vs denoised*b.
    • Useful: inject (strong), stable_slerp (smooth), lerp (linear), etc.
  • blend (float): Blend amount between base and scaled tensors.
  • b (float): Scale factor for the injected path. Higher = stronger effect.
  • apply_fourier (bool): Enable frequency-domain shaping.
  • multiscale_mode (combo): Preset shaping curves. Use stable options (e.g., Default, Pass-Through, Sharpen).
  • multiscale_strength (float): Intensity of multi-scale shaping.
  • threshold (int): Base radius in frequency mask.
  • s (float): Base scale value applied at threshold radius.
  • force_gain (float): Final multiplier to boost or attenuate the overall effect.
  • debug_log (bool): Prints one-time registration and periodic fire logs.

Notes

  • SHIFT is always-on in Flux; attention/forward-timestep/wrapper paths are disabled for stability.
  • If a multiscale preset yields flat/gray output, switch to a stable preset (e.g., Sharpen, Pass-Through) or tune threshold/s.

About

FreeU - Free Lunch, and Dinner.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages