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