fastsdcpu / frontend /webui /generation_settings_ui.py
rupeshs's picture
added files
ef20d79
import gradio as gr
from state import get_settings
app_settings = get_settings()
def on_change_inference_steps(steps):
app_settings.settings.lcm_diffusion_setting.inference_steps = steps
def on_change_image_width(img_width):
app_settings.settings.lcm_diffusion_setting.image_width = img_width
def on_change_image_height(img_height):
app_settings.settings.lcm_diffusion_setting.image_height = img_height
def on_change_num_images(num_images):
app_settings.settings.lcm_diffusion_setting.number_of_images = num_images
def on_change_guidance_scale(guidance_scale):
app_settings.settings.lcm_diffusion_setting.guidance_scale = guidance_scale
def on_change_seed_value(seed):
app_settings.settings.lcm_diffusion_setting.seed = seed
def on_change_seed_checkbox(seed_checkbox):
app_settings.settings.lcm_diffusion_setting.use_seed = seed_checkbox
def on_change_safety_checker_checkbox(safety_checker_checkbox):
app_settings.settings.lcm_diffusion_setting.use_safety_checker = (
safety_checker_checkbox
)
def on_change_tiny_auto_encoder_checkbox(tiny_auto_encoder_checkbox):
app_settings.settings.lcm_diffusion_setting.use_tiny_auto_encoder = (
tiny_auto_encoder_checkbox
)
def on_offline_checkbox(offline_checkbox):
app_settings.settings.lcm_diffusion_setting.use_offline_model = offline_checkbox
def get_generation_settings_ui() -> None:
with gr.Blocks():
with gr.Row():
with gr.Column():
num_inference_steps = gr.Slider(
1,
25,
value=app_settings.settings.lcm_diffusion_setting.inference_steps,
step=1,
label="Inference Steps",
interactive=True,
)
image_height = gr.Slider(
256,
1024,
value=app_settings.settings.lcm_diffusion_setting.image_height,
step=256,
label="Image Height",
interactive=True,
)
image_width = gr.Slider(
256,
1024,
value=app_settings.settings.lcm_diffusion_setting.image_width,
step=256,
label="Image Width",
interactive=True,
)
num_images = gr.Slider(
1,
50,
value=app_settings.settings.lcm_diffusion_setting.number_of_images,
step=1,
label="Number of images to generate",
interactive=True,
)
guidance_scale = gr.Slider(
1.0,
2.0,
value=app_settings.settings.lcm_diffusion_setting.guidance_scale,
step=0.1,
label="Guidance Scale",
interactive=True,
)
seed = gr.Slider(
value=app_settings.settings.lcm_diffusion_setting.seed,
minimum=0,
maximum=999999999,
label="Seed",
step=1,
interactive=True,
)
seed_checkbox = gr.Checkbox(
label="Use seed",
value=app_settings.settings.lcm_diffusion_setting.use_seed,
interactive=True,
)
safety_checker_checkbox = gr.Checkbox(
label="Use Safety Checker",
value=app_settings.settings.lcm_diffusion_setting.use_safety_checker,
interactive=True,
)
tiny_auto_encoder_checkbox = gr.Checkbox(
label="Use tiny auto encoder for SD",
value=app_settings.settings.lcm_diffusion_setting.use_tiny_auto_encoder,
interactive=True,
)
offline_checkbox = gr.Checkbox(
label="Use locally cached model or downloaded model folder(offline)",
value=app_settings.settings.lcm_diffusion_setting.use_offline_model,
interactive=True,
)
num_inference_steps.change(on_change_inference_steps, num_inference_steps)
image_height.change(on_change_image_height, image_height)
image_width.change(on_change_image_width, image_width)
num_images.change(on_change_num_images, num_images)
guidance_scale.change(on_change_guidance_scale, guidance_scale)
seed.change(on_change_seed_value, seed)
seed_checkbox.change(on_change_seed_checkbox, seed_checkbox)
safety_checker_checkbox.change(
on_change_safety_checker_checkbox, safety_checker_checkbox
)
tiny_auto_encoder_checkbox.change(
on_change_tiny_auto_encoder_checkbox, tiny_auto_encoder_checkbox
)
offline_checkbox.change(on_offline_checkbox, offline_checkbox)