| |
|
|
| from __future__ import annotations |
|
|
| import gradio as gr |
| import torch |
|
|
|
|
| from app_scribble import create_demo as create_demo_scribble |
| from model import Model |
| from settings import (ALLOW_CHANGING_BASE_MODEL, DEFAULT_MODEL_ID, |
| SHOW_DUPLICATE_BUTTON) |
|
|
|
|
| DESCRIPTION = '# Sketch to Image 🖼️' |
|
|
| model = Model(base_model_id=DEFAULT_MODEL_ID, task_name='Canny') |
|
|
| with gr.Blocks(css='style.css', theme=gr.themes.Soft()) as demo: |
| gr.Markdown(DESCRIPTION) |
| create_demo_scribble(model.process_scribble) |
|
|
| """ |
| with gr.Accordion(label='Base model', open=False): |
| with gr.Row(): |
| with gr.Column(scale=5): |
| current_base_model = gr.Text(label='Current base model') |
| with gr.Column(scale=1): |
| check_base_model_button = gr.Button('Check current base model') |
| with gr.Row(): |
| with gr.Column(scale=5): |
| new_base_model_id = gr.Text( |
| label='New base model', |
| max_lines=1, |
| placeholder='runwayml/stable-diffusion-v1-5', |
| info= |
| 'The base model must be compatible with Stable Diffusion v1.5.', |
| interactive=ALLOW_CHANGING_BASE_MODEL) |
| with gr.Column(scale=1): |
| change_base_model_button = gr.Button( |
| 'Change base model', interactive=ALLOW_CHANGING_BASE_MODEL) |
| if not ALLOW_CHANGING_BASE_MODEL: |
| gr.Markdown( |
| '''The base model is not allowed to be changed in this Space so as not to slow down the demo, but it can be changed if you duplicate the Space.''' |
| ) |
| |
| check_base_model_button.click( |
| fn=lambda: model.base_model_id, |
| outputs=current_base_model, |
| queue=False, |
| api_name='check_base_model', |
| ) |
| new_base_model_id.submit( |
| fn=model.set_base_model, |
| inputs=new_base_model_id, |
| outputs=current_base_model, |
| api_name=False, |
| ) |
| change_base_model_button.click( |
| fn=model.set_base_model, |
| inputs=new_base_model_id, |
| outputs=current_base_model, |
| api_name=False, |
| ) |
| """ |
|
|
| demo.queue(max_size=20).launch() |
|
|