invoke-ai / InvokeAI

Invoke is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the latest AI-driven technologies. The solution offers an industry leading WebUI, and serves as the foundation for multiple commercial products.
https://invoke-ai.github.io/InvokeAI/
Apache License 2.0
23.38k stars 2.4k forks source link

[bug]: Having global positive prompt filled in during upscale produces artifacts during scaling #6786

Closed Crono141 closed 1 month ago

Crono141 commented 1 month ago

Is there an existing issue for this problem?

Operating system

Linux

GPU vendor

Nvidia (CUDA)

GPU model

3060

GPU VRAM

12gb

Version number

v4.2.7

Browser

Chrome Latest 128.0.6613.84

Python dependencies

accelerate 0.30.1 compel 2.0.2 cuda 12.1 diffusers 0.27.2 numpy 1.26.4 opencv 4.9.0.80 onnx 1.15.0 pillow 10.4.0 python 3.10.14 torch 2.2.2+cu121 torchvision 0.17.2 transformers 4.41.1 xformers 0.0.25.post1

What happened

After generating, sent image to upscaler. Picked a 4X upscaler without clearing the global prompt first. After upscaling (which takes a long time, longer than generating 4 images), the resultant image had numerous artifacts affected by the prompt

What you expected to happen

I expect the upscale to only upscale, and not also take prompt and use it to fill in the upscaling

How to reproduce the problem

Generate an image using invokeai. Tweak in the unified canvas. Save to library. Right click send to upscaler. Scale by 4X without clearing global prompt. See if anything ugly appears

Additional context

The issue goes away, using the exact same settings for the upscaler, if the global positive prompt is cleared before invoking.

Discord username

No response

psychedelicious commented 1 month ago

The upscaling tab uses stable diffusion. Using prompt is a key differentiator between just running a simple single pass upscale model and using SD for upscaling.

You'll need to clear the prompt if you don't want to use it, or use the postprocessing button to use a simple upscaler (much faster btw):

image
Crono141 commented 1 month ago

OK, operator error. Thanks.