Spaces:
Running
Running
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) | |