Kandinsky-2 icon indicating copy to clipboard operation
Kandinsky-2 copied to clipboard

CUDA out of memory

Open grigoty opened this issue 1 year ago • 4 comments

При запуске пример

from kandinsky2 import get_kandinsky2
model = get_kandinsky2('cuda', task_type='text2img', model_version='2.1', use_flash_attention=False)
images = model.generate_text2img(
    "red cat, 4k photo", 
    num_steps=100,
    batch_size=1, 
    guidance_scale=4,
    h=768, w=768,
    sampler='p_sampler', 
    prior_cf_scale=4,
    prior_steps="5"
)

Возникает ошибка. Кто-нибудь сталкивался с этим?

CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 10.76 GiB total capacity; 7.06 GiB already allocated; 8.81 MiB free; 7.15 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

grigoty avatar Apr 07 '23 08:04 grigoty

Есть проблема с освобождением памяти после генераций. Я украл решение Stable Diffusion и скоро опубликую юпитеровский ноутбук с ним. Однако если на твоей ГПУ 8Гб VRAM этого может оказаться мало, надо делать оптимизацию, но я не умею

Blucknote avatar Apr 07 '23 09:04 Blucknote

Есть проблема с освобождением памяти после генераций. Я украл решение Stable Diffusion и скоро опубликую юпитеровский ноутбук с ним. Однако если на твоей ГПУ 8Гб VRAM этого может оказаться мало, надо делать оптимизацию, но я не умею

Отлично! буду ждать результата

grigoty avatar Apr 07 '23 11:04 grigoty

Отлично! буду ждать результата

https://github.com/Blucknote/Kandinsky-advanced-notebooks чуть позже добавлю описание фич и как запускать.

image

Так же будет ноутбук для mix режима.

Текущее решение не спасет от OOM, если её в принципе мало, но делает очистку между генерациями.

Blucknote avatar Apr 07 '23 17:04 Blucknote

I found the best solution for this error was just lowering the width and height of the output image. Kandinsky unfortunately uses a ton more vram than other ai-image programs, and since i have 1070ti the largest image size that worked for me was 256px x 256px.

images = model.generate_text2img( "your prompt", num_steps=100, batch_size=1, guidance_scale=4, h=256, w=256, sampler='p_sampler', prior_cf_scale=4, prior_steps="5" )

steadman1 avatar Apr 13 '23 23:04 steadman1