diff --git a/TODO.md b/TODO.md index 69c6c1311..dab3a98fe 100644 --- a/TODO.md +++ b/TODO.md @@ -5,6 +5,7 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma ## Candidates for next release - defork +- stable diffusion 3.0 - stable cascade: - ipadapter masking: - x-adapter: diff --git a/html/locale_en.json b/html/locale_en.json index e16e2c54c..85fbd3570 100644 --- a/html/locale_en.json +++ b/html/locale_en.json @@ -133,7 +133,7 @@ {"id":"","label":"Refiner start","localized":"","hint":"Refiner pass will start when base model is this much complete (set to 0 or 1 to run after full base model run)"}, {"id":"","label":"Refiner steps","localized":"","hint":"Number of steps to use for refiner pass"}, {"id":"","label":"Secondary CFG Scale","localized":"","hint":"CFG scale used for refiner pass"}, - {"id":"","label":"Guidance rescale","localized":"","hint":"Rescale CFG generated noise to avoid overexposed images"}, + {"id":"","label":"Rescale guidance","localized":"","hint":"Rescale CFG generated noise to avoid overexposed images"}, {"id":"","label":"Secondary Prompt","localized":"","hint":"Prompt used for both second encoder in base model (if it exists) and for refiner pass (if enabled)"}, {"id":"","label":"Secondary negative prompt","localized":"","hint":"Negative prompt used for both second encoder in base model (if it exists) and for refiner pass (if enabled)"}, {"id":"","label":"Width","localized":"","hint":"Image width"}, diff --git a/javascript/sdnext.css b/javascript/sdnext.css index 597c6b7cc..b72342356 100644 --- a/javascript/sdnext.css +++ b/javascript/sdnext.css @@ -1,5 +1,5 @@ @font-face { font-family: 'NotoSans'; font-display: swap; font-style: normal; font-weight: 100; src: local('NotoSans'), url('notosans-nerdfont-regular.ttf') } -:root { --left-column: 550px; } +:root { --left-column: 520px; } a { font-weight: bold; cursor: pointer; } h2 { margin-top: 1em !important; font-size: var(--text-xxl) !important; } footer { display: none; margin-top: 0 !important;} @@ -45,7 +45,7 @@ input[type='color'] { width: 64px; height: 32px; } .gradio-textbox { overflow: visible !important; } .gradio-radio { padding: 0 !important; width: max-content !important; } .gradio-slider { margin-right: var(--spacing-sm) !important; width: max-content !important } -.gradio-slider input[type="number"] { width: 6em; font-size: var(--text-xs); height: 16px; text-align: right; } +.gradio-slider input[type="number"] { width: 5em; font-size: var(--text-xs); height: 16px; text-align: right; padding: 0; } /* custom gradio elements */ .accordion-compact { padding: 8px 0px 4px 0px !important; } @@ -301,9 +301,10 @@ table.settings-value-table td { padding: 0.4em; border: 1px solid #ccc; max-widt --spacing-xxs: 1px; --spacing-xs: 2px; --spacing-sm: 3px; - --spacing-lg: 4px; - --spacing-xl: 5px; - --spacing-xxl: 6px; + --spacing-md: 4px; + --spacing-lg: 5px; + --spacing-xl: 6px; + --spacing-xxl: 7px; } @media (hover: none) and (pointer: coarse) { /* Apply different styles for devices with coarse pointers dependant on screen resolution */ diff --git a/modules/sd_hijack_hypertile.py b/modules/sd_hijack_hypertile.py index cbcd0360b..296ceefc5 100644 --- a/modules/sd_hijack_hypertile.py +++ b/modules/sd_hijack_hypertile.py @@ -22,6 +22,7 @@ error_reported = False reset_needed = False skip_hypertile = False + def iterative_closest_divisors(hw:int, aspect_ratio:float) -> tuple[int, int]: """ Finds h and w such that h*w = hw and h/w = aspect_ratio @@ -34,6 +35,7 @@ def iterative_closest_divisors(hw:int, aspect_ratio:float) -> tuple[int, int]: closest_pair = pairs[ratios.index(closest_ratio)] # closest pair of divisors to aspect_ratio return closest_pair + @cache def find_hw_candidates(hw:int, aspect_ratio:float) -> tuple[int, int]: """ @@ -96,7 +98,7 @@ def split_attention(layer: nn.Module, tile_size: int=256, min_tile_size: int=128 def self_attn_forward(forward: Callable) -> Callable: @wraps(forward) def wrapper(*args, **kwargs): - global height, width, max_h, max_w, reset_needed, error_reported, skip_hypertile # pylint: disable=global-statement + global height, width, max_h, max_w, reset_needed, error_reported # pylint: disable=global-statement if skip_hypertile: return forward(*args, **kwargs) x = args[0] @@ -198,7 +200,6 @@ def context_hypertile_vae(p): return split_attention(vae, tile_size=tile_size, min_tile_size=128, swap_size=shared.opts.hypertile_vae_swap_size) - def context_hypertile_unet(p): from modules import shared if p.sd_model is None or not shared.opts.hypertile_unet_enabled: diff --git a/modules/ui_sections.py b/modules/ui_sections.py index f5ccb41de..7a958399c 100644 --- a/modules/ui_sections.py +++ b/modules/ui_sections.py @@ -106,7 +106,7 @@ def create_advanced_inputs(tab): cfg_end = gr.Slider(minimum=0.0, maximum=1.0, step=0.1, label='CFG end', value=1.0, elem_id=f"{tab}_cfg_end") with gr.Row(): image_cfg_scale = gr.Slider(minimum=0.0, maximum=30.0, step=0.1, label='Secondary guidance', value=6.0, elem_id=f"{tab}_image_cfg_scale") - diffusers_guidance_rescale = gr.Slider(minimum=0.0, maximum=1.0, step=0.05, label='Guidance rescale', value=0.7, elem_id=f"{tab}_image_cfg_rescale", visible=shared.backend == shared.Backend.DIFFUSERS) + diffusers_guidance_rescale = gr.Slider(minimum=0.0, maximum=1.0, step=0.05, label='Rescale guidance', value=0.7, elem_id=f"{tab}_image_cfg_rescale", visible=shared.backend == shared.Backend.DIFFUSERS) diffusers_sag_scale = gr.Slider(minimum=0.0, maximum=1.0, step=0.05, label='Attention guidance', value=0.0, elem_id=f"{tab}_image_sag_scale", visible=shared.backend == shared.Backend.DIFFUSERS) with gr.Row(): clip_skip = gr.Slider(label='CLIP skip', value=1, minimum=0, maximum=12, step=0.1, elem_id=f"{tab}_clip_skip", interactive=True) diff --git a/wiki b/wiki index ddd8158ac..0c9322422 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit ddd8158ac1b86cfaba1b5fa9929bb5214775bb9f +Subproject commit 0c9322422f3aca5cf78e0310e87d1767c3242552