Closed dispather closed 1 year ago
Can confirm I get this issue as well on latest dev update on the auto1111 webui
│ ADetailer │
│ ┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓ │
│ ┃ ┃ Value ┃ │
│ ┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩ │
│ │ version │ 23.7.11 │ │
│ │ ad_model │ face_yolov8n_v2.pt │ │
│ │ ad_prompt │ detailed face, │ │
│ │ ad_negative_prompt │ │ │
│ │ ad_controlnet_model │ None │ │
│ │ is_api │ False │ │
│ └─────────────────────┴────────────────────┘ │
│ ╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮ │
│ │ G:\Stable difussion\stable-diffusion-webui\extensions\adetailer\adetailer\traceback.py:139 in │ │
│ │ wrapper │ │
│ │ │ │
│ │ 136 │ │ width = width - 4 if width > 4 else None │ │
│ │ 137 │ │ console = Console(file=string, width=width) │ │
│ │ 138 │ │ try: │ │
│ │ ❱ 139 │ │ │ return func(*args, **kwargs) │ │
│ │ 140 │ │ except Exception as e: │ │
│ │ 141 │ │ │ tables = [ │ │
│ │ 142 │ │ │ │ get_table(title, data) │ │
│ │ │ │
│ │ G:\Stable difussion\stable-diffusion-webui\extensions\adetailer\scripts\!adetailer.py:630 in │ │
│ │ postprocess_image │ │
│ │ │ │
│ │ 627 │ │ │ for n, args in enumerate(arg_list): │ │
│ │ 628 │ │ │ │ if args.ad_model == "None": │ │
│ │ 629 │ │ │ │ │ continue │ │
│ │ ❱ 630 │ │ │ │ is_processed |= self._postprocess_image(p, pp, args, n=n) │ │
│ │ 631 │ │ │ │
│ │ 632 │ │ if is_processed: │ │
│ │ 633 │ │ │ self.save_image( │ │
│ │ │ │
│ │ G:\Stable difussion\stable-diffusion-webui\extensions\adetailer\scripts\!adetailer.py:553 in │ │
│ │ _postprocess_image │ │
│ │ │ │
│ │ 550 │ │ │ kwargs["device"] = self.ultralytics_device │ │
│ │ 551 │ │ │ │
│ │ 552 │ │ with change_torch_load(): │ │
│ │ ❱ 553 │ │ │ pred = predictor(ad_model, pp.image, args.ad_confidence, **kwargs) │ │
│ │ 554 │ │ │ │
│ │ 555 │ │ masks = self.pred_preprocessing(pred, args) │ │
│ │ 556 │ │
│ │ │ │
│ │ G:\Stable difussion\stable-diffusion-webui\extensions\adetailer\adetailer\ultralytics.py:21 in │ │
│ │ ultralytics_predict │ │
│ │ │ │
│ │ 18 │ device: str = "", │ │
│ │ 19 ) -> PredictOutput: │ │
│ │ 20 │ model = YOLO(model_path) │ │
│ │ ❱ 21 │ pred = model(image, conf=confidence, device=device) │ │
│ │ 22 │ │ │
│ │ 23 │ bboxes = pred[0].boxes.xyxy.cpu().numpy() │ │
│ │ 24 │ if bboxes.size == 0: │ │
│ │ │ │
│ │ G:\Stable difussion\stable-diffusion-webui\venv\lib\site-packages\ultralytics\engine\model.py:98 │ │
│ │ in __call__ │ │
│ │ │ │
│ │ 95 │ │ │
│ │ 96 │ def __call__(self, source=None, stream=False, **kwargs): │ │
│ │ 97 │ │ """Calls the 'predict' function with given arguments to perform object detection │ │
│ │ ❱ 98 │ │ return self.predict(source, stream, **kwargs) │ │
│ │ 99 │ │ │
│ │ 100 │ @staticmethod │ │
│ │ 101 │ def is_hub_model(model): │ │
│ │ │ │
│ │ G:\Stable difussion\stable-diffusion-webui\venv\lib\site-packages\torch\utils\_contextlib.py:115 │ │
│ │ in decorate_context │ │
│ │ │ │
│ │ 112 │ @functools.wraps(func) │ │
│ │ 113 │ def decorate_context(*args, **kwargs): │ │
│ │ 114 │ │ with ctx_factory(): │ │
│ │ ❱ 115 │ │ │ return func(*args, **kwargs) │ │
│ │ 116 │ │ │
│ │ 117 │ return decorate_context │ │
│ │ 118 │ │
│ │ │ │
│ │ G:\Stable │ │
│ │ difussion\stable-diffusion-webui\venv\lib\site-packages\ultralytics\engine\model.py:238 in │ │
│ │ predict │ │
│ │ │ │
│ │ 235 │ │ │ self.task = overrides.get('task') or self.task │ │
│ │ 236 │ │ │ predictor = predictor or self.smart_load('predictor') │ │
│ │ 237 │ │ │ self.predictor = predictor(overrides=overrides, _callbacks=self.callbacks) │ │
│ │ ❱ 238 │ │ │ self.predictor.setup_model(model=self.model, verbose=is_cli) │ │
│ │ 239 │ │ else: # only update args if predictor is already setup │ │
│ │ 240 │ │ │ self.predictor.args = get_cfg(self.predictor.args, overrides) │ │
│ │ 241 │ │ │ if 'project' in overrides or 'name' in overrides: │ │
│ │ │ │
│ │ G:\Stable │ │
│ │ difussion\stable-diffusion-webui\venv\lib\site-packages\ultralytics\engine\predictor.py:305 in │ │
│ │ setup_model │ │
│ │ │ │
│ │ 302 │ │ │
│ │ 303 │ def setup_model(self, model, verbose=True): │ │
│ │ 304 │ │ """Initialize YOLO model with given parameters and set it to evaluation mode.""" │ │
│ │ ❱ 305 │ │ self.model = AutoBackend(model or self.args.model, │ │
│ │ 306 │ │ │ │ │ │ │ │ device=select_device(self.args.device, verbose=verbose) │ │
│ │ 307 │ │ │ │ │ │ │ │ dnn=self.args.dnn, │ │
│ │ 308 │ │ │ │ │ │ │ │ data=self.args.data, │ │
│ │ │ │
│ │ G:\Stable │ │
│ │ difussion\stable-diffusion-webui\venv\lib\site-packages\ultralytics\nn\autobackend.py:103 in │ │
│ │ __init__ │ │
│ │ │ │
│ │ 100 │ │ # Load model │ │
│ │ 101 │ │ if nn_module: # in-memory PyTorch model │ │
│ │ 102 │ │ │ model = weights.to(device) │ │
│ │ ❱ 103 │ │ │ model = model.fuse(verbose=verbose) if fuse else model │ │
│ │ 104 │ │ │ if hasattr(model, 'kpt_shape'): │ │
│ │ 105 │ │ │ │ kpt_shape = model.kpt_shape # pose-only │ │
│ │ 106 │ │ │ stride = max(int(model.stride.max()), 32) # model stride │ │
│ │ │ │
│ │ G:\Stable difussion\stable-diffusion-webui\venv\lib\site-packages\ultralytics\nn\tasks.py:127 in │ │
│ │ fuse │ │
│ │ │ │
│ │ 124 │ │ Returns: │ │
│ │ 125 │ │ │ (nn.Module): The fused model is returned. │ │
│ │ 126 │ │ """ │ │
│ │ ❱ 127 │ │ if not self.is_fused(): │ │
│ │ 128 │ │ │ for m in self.model.modules(): │ │
│ │ 129 │ │ │ │ if isinstance(m, (Conv, Conv2, DWConv)) and hasattr(m, 'bn'): │ │
│ │ 130 │ │ │ │ │ if isinstance(m, Conv2): │ │
│ │ │ │
│ │ G:\Stable difussion\stable-diffusion-webui\venv\lib\site-packages\ultralytics\nn\tasks.py:157 in │ │
│ │ is_fused │ │
│ │ │ │
│ │ 154 │ │ │ (bool): True if the number of BatchNorm layers in the model is less than the │ │
│ │ 155 │ │ """ │ │
│ │ 156 │ │ bn = tuple(v for k, v in nn.__dict__.items() if 'Norm' in k) # normalization la │ │
│ │ ❱ 157 │ │ return sum(isinstance(v, bn) for v in self.modules()) < thresh # True if < 'thr │ │
│ │ 158 │ │ │
│ │ 159 │ def info(self, detailed=False, verbose=True, imgsz=640): │ │
│ │ 160 │ │ """ │ │
│ │ │ │
│ │ G:\Stable difussion\stable-diffusion-webui\venv\lib\site-packages\ultralytics\nn\tasks.py:157 in │ │
│ │ <genexpr> │ │
│ │ │ │
│ │ 154 │ │ │ (bool): True if the number of BatchNorm layers in the model is less than the │ │
│ │ 155 │ │ """ │ │
│ │ 156 │ │ bn = tuple(v for k, v in nn.__dict__.items() if 'Norm' in k) # normalization la │ │
│ │ ❱ 157 │ │ return sum(isinstance(v, bn) for v in self.modules()) < thresh # True if < 'thr │ │
│ │ 158 │ │ │
│ │ 159 │ def info(self, detailed=False, verbose=True, imgsz=640): │ │
│ │ 160 │ │ """ │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ TypeError: isinstance() arg 2 must be a type, a tuple of types, or a union │
I get the same thing in version: v1.5.1-450-gf37cc5f5 python: 3.10.9 torch: 2.0.1+cu118 xformers: 0.0.21.dev556 gradio: 3.39.0 any checkpoint
List of installed extensions --sd-webui-ar-plus a1111-sd-webui-tagcomplete adetailer sd-webui-3d-open-pose-editor sd-webui-controlnet sd-webui-fabric sd-webui-refiner sd-webui-roop sd_save_intermediate_images stable-diffusion-webui-images-browser ultimate-upscale-for-automatic1111
로그 전체와 설치한 확장 전체를 올려주세요
로그 전체와 설치한 확장 전체를 올려주세요
I disabled the built-in lora extension on the dev branch of auto1111 and the adetailer extension worked
I disabled the built-in lora extension on the dev branch of auto1111 and the adetailer extension worked
Yes this worked for me too. Does this disable Lora's completely or just the browser part?
I disabled the built-in lora extension on the dev branch of auto1111 and the adetailer extension worked
Yes this worked for me too. Does this disable Lora's completely or just the browser part?
It seems to disable LoRAs completely, at least when using it with the <lora:loraname:1>
format.
Disabling in-built lora worked for me to. Now I have Adetailer, but no Lora 👍👎
This issue cannot be fixed by adetailer, it needs to be fixed by auto1111 or ultralytics.
Describe the bug
이런 에러가 뜨면서 디테일러가 작동하지 않습니다.
어떻게 하면 정상 작동하게 할 수 있는지 궁금합니다!
Screenshots
No response
Console logs, from start to end.
List of installed extensions
adetailer sd-webui-lora-block-weight