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