|
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) |
|
|