Skip to content

Commit

Permalink
Merge pull request AUTOMATIC1111#373 from light-and-ray/inputaccordion
Browse files Browse the repository at this point in the history
use inputaccordions
  • Loading branch information
Kahsolt authored Mar 30, 2024
2 parents d29227b + 0d88a38 commit 8f924dc
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 7 deletions.
13 changes: 11 additions & 2 deletions scripts/tilediffusion.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@
from tile_methods.multidiffusion import MultiDiffusion
from tile_methods.mixtureofdiffusers import MixtureOfDiffusers
from tile_utils.utils import *
if hasattr(opts, 'hypertile_enable_unet'): # webui >= 1.7
from modules.ui_components import InputAccordion
else:
InputAccordion = None

CFG_PATH = os.path.join(scripts.basedir(), 'region_configs')
BBOX_MAX_NUM = min(getattr(shared.cmd_opts, 'md_max_regions', 8), 16)
Expand All @@ -96,9 +100,14 @@ def ui(self, is_img2img):
is_t2i = 'true' if not is_img2img else 'false'
uid = lambda name: f'MD-{tab}-{name}'

with gr.Accordion('Tiled Diffusion', open=False, elem_id=f'MD-{tab}'):
with (
InputAccordion(False, label='Tiled Diffusion', elem_id=uid('enabled')) if InputAccordion
else gr.Accordion('Tiled Diffusion', open=False, elem_id=f'MD-{tab}')
as enabled
):
with gr.Row(variant='compact') as tab_enable:
enabled = gr.Checkbox(label='Enable Tiled Diffusion', value=False, elem_id=uid('enabled'))
if not InputAccordion:
enabled = gr.Checkbox(label='Enable Tiled Diffusion', value=False, elem_id=uid('enabled'))
overwrite_size = gr.Checkbox(label='Overwrite image size', value=False, visible=not is_img2img, elem_id=uid('overwrite-image-size'))
keep_input_size = gr.Checkbox(label='Keep input image size', value=True, visible=is_img2img, elem_id=uid('keep-input-size'))

Expand Down
15 changes: 13 additions & 2 deletions scripts/tileglobal.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
from tile_utils.utils import *
from modules.sd_samplers_common import InterruptedException
# import k_diffusion.sampling
if hasattr(opts, 'hypertile_enable_unet'): # webui >= 1.7
from modules.ui_components import InputAccordion
else:
InputAccordion = None


CFG_PATH = os.path.join(scripts.basedir(), 'region_configs')
Expand Down Expand Up @@ -54,9 +58,16 @@ def ui(self, is_img2img):
is_t2i = 'true' if not is_img2img else 'false'
uid = lambda name: f'MD-{tab}-{name}'

with gr.Accordion('DemoFusion', open=False, elem_id=f'MD-{tab}'):
with (
InputAccordion(False, label='DemoFusion', elem_id=uid('enabled')) if InputAccordion
else gr.Accordion('DemoFusion', open=False, elem_id=f'MD-{tab}')
as enabled
):
with gr.Row(variant='compact') as tab_enable:
enabled = gr.Checkbox(label='Enable DemoFusion(Dont open with tilediffusion)', value=False, elem_id=uid('enabled'))
if not InputAccordion:
enabled = gr.Checkbox(label='Enable DemoFusion(Dont open with tilediffusion)', value=False, elem_id=uid('enabled'))
else:
gr.Markdown('(Dont open with tilediffusion)')
random_jitter = gr.Checkbox(label='Random Jitter', value = True, elem_id=uid('random-jitter'))
keep_input_size = gr.Checkbox(label='Keep input-image size', value=False,visible=is_img2img, elem_id=uid('keep-input-size'))
mixture_mode = gr.Checkbox(label='Mixture mode', value=False,elem_id=uid('mixture-mode'))
Expand Down
16 changes: 13 additions & 3 deletions scripts/tilevae.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@

import modules.scripts as scripts
import modules.devices as devices
from modules.shared import state
from modules.shared import state, opts
from modules.ui import gr_show
from modules.processing import opt_f
from modules.sd_vae_approx import cheap_approximation
Expand All @@ -70,6 +70,11 @@
from tile_utils.attn import get_attn_func
from tile_utils.typing import Processing

if hasattr(opts, 'hypertile_enable_unet'): # webui >= 1.7
from modules.ui_components import InputAccordion
else:
InputAccordion = None


def get_rcmd_enc_tsize():
if torch.cuda.is_available() and devices.device not in ['cpu', devices.cpu]:
Expand Down Expand Up @@ -666,9 +671,14 @@ def ui(self, is_img2img):
tab = 't2i' if not is_img2img else 'i2i'
uid = lambda name: f'MD-{tab}-{name}'

with gr.Accordion('Tiled VAE', open=False, elem_id=f'MDV-{tab}'):
with (
InputAccordion(False, label='Tiled VAE', elem_id=f'MDV-{tab}-enabled') if InputAccordion
else gr.Accordion('Tiled VAE', open=False, elem_id=f'MDV-{tab}')
as enabled
):
with gr.Row() as tab_enable:
enabled = gr.Checkbox(label='Enable Tiled VAE', value=False, elem_id=uid('enable'))
if not InputAccordion:
enabled = gr.Checkbox(label='Enable Tiled VAE', value=False, elem_id=uid('enable'))
vae_to_gpu = gr.Checkbox(label='Move VAE to GPU (if possible)', value=True, elem_id=uid('vae2gpu'))

gr.HTML('<p style="margin-bottom:0.8em"> Recommended to set tile sizes as large as possible before got CUDA error: out of memory. </p>')
Expand Down

0 comments on commit 8f924dc

Please # to comment.