dustysys / ddetailer

340 stars 74 forks source link

Error when used in Batch Img2Img #8

Closed devbjackson closed 1 year ago

devbjackson commented 1 year ago

I get this error every time I use DDetailer in batch img2img:

Traceback (most recent call last): File "C:\sd-webui\modules\ui.py", line 185, in f res = list(func(*args, *kwargs)) File "c:\sd-webui\webui.py", line 54, in f res = func(args, *kwargs) File "C:\sd-webui\modules\img2img.py", line 133, in img2img process_batch(p, img2img_batch_input_dir, img2img_batch_output_dir, args) File "C:\sd-webui\modules\img2img.py", line 46, in process_batch proc = modules.scripts.scripts_img2img.run(p, args) File "C:\sd-webui\modules\scripts.py", line 290, in run processed = script.run(p, *script_args) File "C:\sd-webui\extensions\ddetailer\scripts\ddetailer.py", line 272, in run results_a = inference(init_image, dd_model_a, dd_conf_a/100.0, label_a) File "C:\sd-webui\extensions\ddetailer\scripts\ddetailer.py", line 475, in inference results = inference_mmdet_segm(image, modelname, conf_thres, label) File "C:\sd-webui\extensions\ddetailer\scripts\ddetailer.py", line 483, in inference_mmdet_segm mmdet_results = inference_detector(model, np.array(image)) File "c:\sd-webui\venv\lib\site-packages\mmdet\apis\inference.py", line 133, in inference_detector data = test_pipeline(data) File "c:\sd-webui\venv\lib\site-packages\mmdet\datasets\pipelines\compose.py", line 41, in call data = t(data) File "c:\sd-webui\venv\lib\site-packages\mmdet\datasets\pipelines\test_time_aug.py", line 107, in call data = self.transforms(_results) File "c:\sd-webui\venv\lib\site-packages\mmdet\datasets\pipelines\compose.py", line 41, in call data = t(data) File "c:\sd-webui\venv\lib\site-packages\mmdet\datasets\pipelines\transforms.py", line 664, in call self._pad_img(results) File "c:\sd-webui\venv\lib\site-packages\mmdet\datasets\pipelines\transforms.py", line 633, in _pad_img padded_img = mmcv.impad_to_multiple( File "c:\sd-webui\venv\lib\site-packages\mmcv\image\geometric.py", line 588, in impad_to_multiple return impad(img, shape=(pad_h, pad_w), pad_val=pad_val) File "c:\sd-webui\venv\lib\site-packages\mmcv\image\geometric.py", line 537, in impad assert len(pad_val) == img.shape[-1] AssertionError

devbjackson commented 1 year ago

apparently img.shape[-1] is 4, but len(pad_val) is 3. pad_val is (128, 128, 128). Why is this happening?

devbjackson commented 1 year ago

I stopped getting this error when I changed my source files from pngs to jpegs.