FreeU Advanced Plus
Let's say you and I grab dinner, and movie after lunch? ππΊπ
These examples are for FreeU - Dinner and a Movie (FreeU Advanced Plus) which is a alpha branch of FreeU Adanced. This version patches the UNetModel.forward
method fromopenaimodel.py
This is a temporary patch until there is official methods to patch the input blocks and middle block. FreeU - Free Lunch and Dinner (FreeU Advanced) doesn't require patching the UNetModel class.
INSTALLATION
Preferably visit the Github and choose the branch right for you (main or dinner_and_a_movie).
git clone -b [main|dinner_and_a_movie] https://github.com/WASasquatch/FreeU_Advanced.git
Otherwise you can download one of the versions from civitai and extract the folder within the archive to
ComfyUI/custom_nodes
Examples of default node settings applied across blocks.
Input Parameters
model
(MODEL
): Model to patchtarget_block
(COMBO
): Which block to target;input_block
,middle_block
, andoutput_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 scalingb1_slice
(INT
, Default: 640, Range: [64, 1280], Step: 1): The size of the array slice for b1 operationb2_slice
(INT
, Default: 640, Range: [64, 640], Step: 1): The size of the array slice for b2 operationb1
(FLOAT
, Default: 1.1, Range: [0.0, 10.0], Step: 0.001):b1
output multiplierb2
(FLOAT
, Default: 1.2, Range: [0.0, 10.0], Step: 0.001):b2
output multipliers1
(FLOAT
, Default: 0.9, Range: [0.0, 10.0], Step: 0.001):s1
Fourier transform scale strengths2
(FLOAT
, Default: 0.2, Range: [0.0, 10.0], Step: 0.001):s2
Fourier transform scale strength
Optional Parameters
b1_mode
(COMBO
): Blending modes forb1
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 forb1
.b2_mode
(COMBO
): Blending modes forb2
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 forb2
.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 useoverride_scales
override_scales
(STRING
, Default: [Multiline String]): Override scales. Create custom scales and experiment with results.Example
10, 1.5
would create themultiscale_mode
effectSharpen
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.