mirror of
https://github.com/storytold/storyteller-ml.git
synced 2026-10-28 09:08:54 +00:00
update webUI.py
This commit is contained in:
@@ -24,7 +24,7 @@ from deps.ControlNet.annotator.util import HWC3
|
|||||||
from deps.ControlNet.cldm.model import create_model, load_state_dict
|
from deps.ControlNet.cldm.model import create_model, load_state_dict
|
||||||
from deps.gmflow.gmflow.gmflow import GMFlow
|
from deps.gmflow.gmflow.gmflow import GMFlow
|
||||||
from flow.flow_utils import get_warped_and_mask
|
from flow.flow_utils import get_warped_and_mask
|
||||||
from sd_model_cfg import model_dict
|
from sd_model_cfg import model_dict,loRA_dict
|
||||||
from src.config import RerenderConfig
|
from src.config import RerenderConfig
|
||||||
from src.controller import AttentionControl
|
from src.controller import AttentionControl
|
||||||
from src.ddim_v_hacked import DDIMVSampler
|
from src.ddim_v_hacked import DDIMVSampler
|
||||||
@@ -172,7 +172,7 @@ video_frame_count = None
|
|||||||
def create_cfg(input_path, prompt, image_resolution, control_strength,
|
def create_cfg(input_path, prompt, image_resolution, control_strength,
|
||||||
color_preserve, left_crop, right_crop, top_crop, bottom_crop,
|
color_preserve, left_crop, right_crop, top_crop, bottom_crop,
|
||||||
control_type, low_threshold, high_threshold, ddim_steps, scale,
|
control_type, low_threshold, high_threshold, ddim_steps, scale,
|
||||||
seed, sd_model, a_prompt, n_prompt, interval, keyframe_count,
|
seed, sd_model,loRA_weights, a_prompt, n_prompt, interval, keyframe_count,
|
||||||
x0_strength, use_constraints, cross_start, cross_end,
|
x0_strength, use_constraints, cross_start, cross_end,
|
||||||
style_update_freq, warp_start, warp_end, mask_start, mask_end,
|
style_update_freq, warp_start, warp_end, mask_start, mask_end,
|
||||||
ada_start, ada_end, mask_strength, inner_strength,
|
ada_start, ada_end, mask_strength, inner_strength,
|
||||||
@@ -206,6 +206,7 @@ def create_cfg(input_path, prompt, image_resolution, control_strength,
|
|||||||
interval=interval,
|
interval=interval,
|
||||||
crop=[left_crop, right_crop, top_crop, bottom_crop],
|
crop=[left_crop, right_crop, top_crop, bottom_crop],
|
||||||
sd_model=sd_model,
|
sd_model=sd_model,
|
||||||
|
loRA_weights=loRA_weights,
|
||||||
ddim_steps=ddim_steps,
|
ddim_steps=ddim_steps,
|
||||||
scale=scale,
|
scale=scale,
|
||||||
control_type=control_type,
|
control_type=control_type,
|
||||||
@@ -239,11 +240,13 @@ def cfg_to_input(filename):
|
|||||||
]
|
]
|
||||||
|
|
||||||
sd_model = inversed_model_dict.get(cfg.sd_model, 'Stable Diffusion 1.5')
|
sd_model = inversed_model_dict.get(cfg.sd_model, 'Stable Diffusion 1.5')
|
||||||
|
loRA_weights = inversed_model_dict.get(cfg.loRA_weights,"None")
|
||||||
|
|
||||||
|
|
||||||
args = [
|
args = [
|
||||||
cfg.input_path, cfg.prompt, cfg.image_resolution, cfg.control_strength,
|
cfg.input_path, cfg.prompt, cfg.image_resolution, cfg.control_strength,
|
||||||
cfg.color_preserve, *cfg.crop, cfg.control_type, cfg.canny_low,
|
cfg.color_preserve, *cfg.crop, cfg.control_type, cfg.canny_low,
|
||||||
cfg.canny_high, cfg.ddim_steps, cfg.scale, cfg.seed, sd_model,
|
cfg.canny_high, cfg.ddim_steps, cfg.scale, cfg.seed, sd_model,loRA_weights,
|
||||||
cfg.a_prompt, cfg.n_prompt, cfg.interval, keyframe_count,
|
cfg.a_prompt, cfg.n_prompt, cfg.interval, keyframe_count,
|
||||||
cfg.x0_strength, use_constraints, *cfg.cross_period,
|
cfg.x0_strength, use_constraints, *cfg.cross_period,
|
||||||
cfg.style_update_freq, *cfg.warp_period, *cfg.mask_period,
|
cfg.style_update_freq, *cfg.warp_period, *cfg.mask_period,
|
||||||
@@ -293,6 +296,9 @@ def process1(*args):
|
|||||||
global global_state
|
global global_state
|
||||||
global_state.update_sd_model(cfg.sd_model, cfg.control_type,
|
global_state.update_sd_model(cfg.sd_model, cfg.control_type,
|
||||||
cfg.freeu_args)
|
cfg.freeu_args)
|
||||||
|
# TODO: support Koha loRA
|
||||||
|
# global_state.update_loRA_weights()
|
||||||
|
|
||||||
global_state.update_controller(cfg.inner_strength, cfg.mask_period,
|
global_state.update_controller(cfg.inner_strength, cfg.mask_period,
|
||||||
cfg.cross_period, cfg.ada_period,
|
cfg.cross_period, cfg.ada_period,
|
||||||
cfg.warp_period, cfg.loose_cfattn)
|
cfg.warp_period, cfg.loose_cfattn)
|
||||||
@@ -754,6 +760,13 @@ with block:
|
|||||||
sd_model = gr.Dropdown(sd_model_list,
|
sd_model = gr.Dropdown(sd_model_list,
|
||||||
label='Base model',
|
label='Base model',
|
||||||
value='Stable Diffusion 1.5')
|
value='Stable Diffusion 1.5')
|
||||||
|
|
||||||
|
loRA_weights_list = list(loRA_dict.keys())
|
||||||
|
loRA_weights = gr.Dropdown(loRA_weights_list,
|
||||||
|
label="loRA",
|
||||||
|
value="None")
|
||||||
|
|
||||||
|
|
||||||
a_prompt = gr.Textbox(label='Added prompt',
|
a_prompt = gr.Textbox(label='Added prompt',
|
||||||
value='best quality, extremely detailed')
|
value='best quality, extremely detailed')
|
||||||
n_prompt = gr.Textbox(
|
n_prompt = gr.Textbox(
|
||||||
@@ -915,7 +928,7 @@ with block:
|
|||||||
prompt, image_resolution, control_strength, color_preserve,
|
prompt, image_resolution, control_strength, color_preserve,
|
||||||
left_crop, right_crop, top_crop, bottom_crop, control_type,
|
left_crop, right_crop, top_crop, bottom_crop, control_type,
|
||||||
low_threshold, high_threshold, ddim_steps, scale, seed,
|
low_threshold, high_threshold, ddim_steps, scale, seed,
|
||||||
sd_model, a_prompt, n_prompt, interval, keyframe_count,
|
sd_model,loRA_weights, a_prompt, n_prompt, interval, keyframe_count,
|
||||||
x0_strength, use_constraints[0], cross_start, cross_end,
|
x0_strength, use_constraints[0], cross_start, cross_end,
|
||||||
style_update_freq, warp_start, warp_end, mask_start,
|
style_update_freq, warp_start, warp_end, mask_start,
|
||||||
mask_end, ada_start, ada_end, mask_strength,
|
mask_end, ada_start, ada_end, mask_strength,
|
||||||
@@ -994,4 +1007,4 @@ with block:
|
|||||||
run_button2.click(fn=process2, inputs=ips, outputs=[result_keyframe])
|
run_button2.click(fn=process2, inputs=ips, outputs=[result_keyframe])
|
||||||
run_button3.click(fn=process3, inputs=ips_process3, outputs=[result_video])
|
run_button3.click(fn=process3, inputs=ips_process3, outputs=[result_video])
|
||||||
|
|
||||||
block.launch(server_name='localhost')
|
block.launch(server_name='localhost')
|
||||||
Reference in New Issue
Block a user