From 8bcb14d0ac0deb1b440786402160df4f94ad3ebd Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 8 Nov 2023 08:35:13 -0500 Subject: [PATCH] fix adetailer with controlnet --- modules/processing.py | 30 ++++++++++++++++++++++++++++++ modules/styles.py | 3 ++- requirements.txt | 2 +- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/modules/processing.py b/modules/processing.py index 3e64bff9a..1ee141fbc 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -7,6 +7,7 @@ import random import warnings from contextlib import nullcontext from typing import Any, Dict, List +from dataclasses import dataclass, field import torch import numpy as np import cv2 @@ -115,6 +116,7 @@ def txt2img_image_conditioning(sd_model, x, width, height): return x.new_zeros(x.shape[0], 5, 1, 1, dtype=x.dtype, device=x.device) +@dataclass(repr=False) class StableDiffusionProcessing: """ The first set of paramaters: sd_models -> do_not_reload_embeddings represent the minimum required to create a StableDiffusionProcessing @@ -203,11 +205,39 @@ class StableDiffusionProcessing: self.all_hr_negative_prompts = [] self.comments = {} self.is_api = False + self.scripts_value: modules.scripts.ScriptRunner = field(default=None, init=False) + self.script_args_value: list = field(default=None, init=False) + self.scripts_setup_complete: bool = field(default=False, init=False) + @property def sd_model(self): return shared.sd_model + @property + def scripts(self): + return self.scripts_value + + @scripts.setter + def scripts(self, value): + self.scripts_value = value + if self.scripts_value and self.script_args_value and not self.scripts_setup_complete: + self.setup_scripts() + + @property + def script_args(self): + return self.script_args_value + + @script_args.setter + def script_args(self, value): + self.script_args_value = value + if self.scripts_value and self.script_args_value and not self.scripts_setup_complete: + self.setup_scripts() + + def setup_scripts(self): + self.scripts_setup_complete = True + self.scripts.setup_scrips(self, is_ui=not self.is_api) + def comment(self, text): self.comments[text] = 1 diff --git a/modules/styles.py b/modules/styles.py index 053cfd6fb..9b63a6d01 100644 --- a/modules/styles.py +++ b/modules/styles.py @@ -5,7 +5,6 @@ import os import csv import json from installer import log -from modules import paths class Style(): @@ -66,6 +65,8 @@ def apply_styles_to_extra(p, style: Style): class StyleDatabase: def __init__(self, opts): + from modules import paths + self.no_style = Style("None") self.styles = {} self.path = opts.styles_dir diff --git a/requirements.txt b/requirements.txt index f833a42e1..f34360881 100644 --- a/requirements.txt +++ b/requirements.txt @@ -50,7 +50,7 @@ requests==2.31.0 tqdm==4.66.1 accelerate==0.20.3 opencv-python-headless==4.7.0.72 -diffusers==0.22.0 +diffusers==0.22.3 einops==0.4.1 gradio==3.43.2 huggingface_hub==0.18.0