isekaidev / stable.art

Photoshop plugin for Stable Diffusion with Automatic1111 as backend (locally or with Google Colab)
https://stable.art
MIT License
1.13k stars 67 forks source link

Inpainting is not working. #28

Open eugenedefox opened 1 year ago

eugenedefox commented 1 year ago

Hello there! I got problem when i'm trying to use inpaint, i got an error 500 in photoshop and in cmd i saw that program can't find ESRGAN_4x! I download this upscaler to models but this doesn't help me.. Also i have Stable diffusion 1.5 maybe problem in this i don't know )Thanks you in advance! Ectually best extention for Photoshop ever! хачатур Безымянный1234

isekaidev commented 1 year ago

Hey! This is not related to v1.5, I use it myself. Does your webui work correctly? Try to generate the same image on the webui itself. The plugin does not interact with upscalers in any way, so most likely there is some problem on the webui part.

Hoswolf commented 1 year ago

Hey! I have the exact same issue. WebUi works perfectly fine. I also get this error whenever I try inpainting but it also happens in a seemingly random manner when using text2img or img2img. It happens with any settings or model. I've tried but haven't found any logical consistency. It just happens sometimes, and when it happens once i start getting it every time, the only workaround I found it's to reset PS and WebUi themselves. But after a couple of generations I get the error again :(

Hoswolf commented 1 year ago

It looks like a memory issue, here's the error log:

ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\streams\memory.py", line 94, in receive
    return self.receive_nowait()
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\streams\memory.py", line 89, in receive_nowait
    raise WouldBlock
anyio.WouldBlock

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 77, in call_next
    message = await recv_stream.receive()
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\streams\memory.py", line 114, in receive
    raise EndOfStream
anyio.EndOfStream

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 407, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 78, in __call__
    return await self.app(scope, receive, send)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\fastapi\applications.py", line 270, in __call__
    await super().__call__(scope, receive, send)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\applications.py", line 124, in __call__
    await self.middleware_stack(scope, receive, send)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\errors.py", line 184, in __call__
    raise exc
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 106, in __call__
    response = await self.dispatch_func(request, call_next)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\modules\api\api.py", line 96, in log_and_time
    res: Response = await call_next(req)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 80, in call_next
    raise app_exc
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 69, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\gzip.py", line 26, in __call__
    await self.app(scope, receive, send)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\exceptions.py", line 79, in __call__
    raise exc
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in __call__
    raise e
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\routing.py", line 706, in __call__
    await route.handle(scope, receive, send)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\routing.py", line 276, in handle
    await self.app(scope, receive, send)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\routing.py", line 66, in app
    response = await func(request)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\fastapi\routing.py", line 237, in app
    raw_response = await run_endpoint_function(
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\fastapi\routing.py", line 165, in run_endpoint_function
    return await run_in_threadpool(dependant.call, **values)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\concurrency.py", line 41, in run_in_threadpool
    return await anyio.to_thread.run_sync(func, *args)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 31, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 937, in run_sync_in_worker_thread
    return await future
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 867, in run
    result = context.run(func, *args)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\modules\api\api.py", line 246, in img2imgapi
    processed = process_images(p)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\modules\processing.py", line 484, in process_images
    res = process_images_inner(p)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\modules\processing.py", line 577, in process_images_inner
    p.init(p.all_prompts, p.all_seeds, p.all_subseeds)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\modules\processing.py", line 1010, in init
    self.init_latent = self.sd_model.get_first_stage_encoding(self.sd_model.encode_first_stage(image))
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\modules\sd_hijack_utils.py", line 17, in <lambda>
    setattr(resolved_obj, func_path[-1], lambda *args, **kwargs: self(*args, **kwargs))
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\modules\sd_hijack_utils.py", line 28, in __call__
    return self.__orig_func(*args, **kwargs)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\autograd\grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\models\diffusion\ddpm.py", line 830, in encode_first_stage
    return self.first_stage_model.encode(x)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\models\autoencoder.py", line 83, in encode
    h = self.encoder(x)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
    return forward_call(*input, **kwargs)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\modules\diffusionmodules\model.py", line 526, in forward
    h = self.down[i_level].block[i_block](hs[-1], temb)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
    return forward_call(*input, **kwargs)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\modules\diffusionmodules\model.py", line 138, in forward
    h = self.norm2(h)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
    return forward_call(*input, **kwargs)
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\normalization.py", line 273, in forward
    return F.group_norm(
  File "C:\Users\balla\Documents\AI\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\functional.py", line 2528, in group_norm
    return torch.group_norm(input, num_groups, weight, bias, eps, torch.backends.cudnn.enabled)
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 2.00 GiB (GPU 0; 8.00 GiB total capacity; 6.07 GiB already allocated; 0 bytes free; 7.08 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
KittyYeungQ commented 1 year ago

Hi @isekaidev Thank you so much for making the plugin! This is exactly what I've been looking for. I was able to generate txt2img but when I need to use img2img or inpaint, I get the status code 500 error. Now some attempts of txt2img also reported the same error. I'm encountering the same issues #28 and #26.

Here's a recording of the code 500 error. Is there something I'm doing wrong using the imag2imag and inpaint?

https://user-images.githubusercontent.com/59890648/219939620-d71bff42-5323-45b7-9002-152ce7010997.mp4