Stability Matrix ComfyUI에서 다음 에러가 발생하는 경우가 있습니다.
에러 메시지:
Error occurred when executing VAEDecode:
CUDA out of memory. Tried to allocate. GPU 0 has a total capacity of which 0 bytes is free.
Of the allocated memory is allocated by PyTorch, and reserved by PyTorch but unallocated.
If reserved but unallocated memory is large try setting max_split_size_mb to avoid
fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
이 에러는 요청하는 작업의 스케일에 비해 메모리가 부족할 때 발생합니다.
Close 버튼을 눌러서 에러 메시지 창을 닫습니다.
일단 모든 steps의 값을 다른 곳에 적어둔 후 1로 변경합니다.(테스트를 위해 1로 변경)
메모리 문제 해결 후 다시 steps 값을 원래 값으로 원상 복구해야 하므로 기존 값을 기억해 둡니다.
파라미터 중에 batch나 batch_size 같은 값이 1보다 클 경우 1로 조정합니다.
1로 값을 변경했다면 이미지 생성을 다시 해봅니다.
steps를 1로 변경했기 때문에 제대로 된 이미지가 생성되지는 않습니다.
out of memory 에러가 발생하는지 안 하는지만 테스트하면 됩니다.
batch 값 수정 후에도 out of memory 에러가 여전히 발생한다면 작업 이미지의 크기를 조정해야 합니다.
(테스트해 본 결과 steps 조절은 메모리 문제에 영향을 주지 못하는 것으로 나타났습니다. batch나 이미지 크기가 메모리 문제와 관련이 높은 것으로 보입니다)
width, height 파라미터 값을 찾아서 수정합니다.
기존 크기보다 더 작은 크기의 값을 입력하면 되는데 처음에는 1000 정도의 큼직한 단위로 숫자를 낮춰서 테스트해 봅니다.(예시: 기존값보다 1000 정도 작은 width 3000, height 3000)
out of memory 에러가 발생하지 않을 때까지 이미지의 크기를 1000씩 낮춰서 테스트해 봅니다.
1차 시도: width 3000, height 3000
2차 시도: width 2000, height 2000
3차 시도: width 1000, height 1000
... 이런 식으로 계속
만약 width 1000, height 1000에서도 out of memory 에러가 발생할 경우 100 단위씩 낮춰서 테스트해 봅니다.
계속 낮추다 보면 언젠가는 out of memory 에러가 발생하지 않습니다.
out of memory 에러가 발생하지 않는 이미지의 크기를 찾았다면 처음에 1로 변경했던 steps 값을 원래 세팅돼 있던 기존값으로 원상 복구합니다.
댓글