본문 바로가기
웹툰AI

stable diffusion 이미지 생성 크기

by Kwoon 2023. 5. 15.
반응형

스테이블 디퓨전의 이미지 생성시 이미지 생성 크기의 방식이 존재 합니다. 혹시 이미지 생성을 시도하면서 다음과 같은 애러 메시지가 뜨면서 이미지 생성이 안되는 경우를 당하신 적이 있으신가요?

 

allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF(할당된 메모리인 경우 fragment화를 방지하기 위해 max_split_size_mb를 설정해 보십시오. 메모리 관리 및 PYTORCH_CUDA_ALOCH_CONF 설명서를 참조하십시오)

 

이 의미는 실제 메모리가 부족해서 나는 애러가 아닙니다. 가로x세로의 이미지 규정이 어긋나 이미지 생성을 할 수 없는 경우 이러한 메시지를 출력하고 이미지 생성을 중단 하는 것입니다.

 

2의 거듭제곱

거듭제곱에 대해서는 학창시절에 이미 배웠을 것입니다. 컴퓨터는 이 승수에 따라 값이 정해 집니다. 보통 8비트, 16비트, 32비트, 64비트 이런 말들을 하죠. 이것은 쉽게 말해 컴퓨터의 성능이라고 보시면 되는데요. 32비트 다음이 왜 64비트 일까요?!

 

AI의 이미지 생성 사이즈도 여기에 답이 있습니다. 수학적인 원리는 차지하고서라도 매번 이를 계산해서 이미지 크기를 정해주는것은 번거로운 일입니다. 해서 이와 관련 된 확장파일도 2종류나 있죠. 그중에 한종류를 아래 링크 합니다.

 

GitHub - alemelis/sd-webui-ar: Select img aspect ratio from presets in sd-webui

Select img aspect ratio from presets in sd-webui. Contribute to alemelis/sd-webui-ar development by creating an account on GitHub.

github.com

스테이블 디퓨전 웹UI 익스텐션 탭을 통해서도 검색하여 설치 하실 수 있습니다.

 

사실 이런 확장기능을 사용해도 뭐가뭔지 잘 모르면 있으나마나 한 것들입니다. 그래서 쉽게 알수 있는 이미지 사이즈에 대한 것을 알려 드리려고 합니다. 

 

모니터를 보시면 모니터 해상도를 설정 할 수 있게 되어 있습니다. 요즘은 3840x2160의 32인치 모니터를 많이 쓰는 추세라고 합니다. 이렇듯 모니터의 해상도 즉, 가로와 세로의 크기를 AI 아미지 사이즈에 그대로 대입하시면 됩니다. 

위 그림처럼 이 사이즈들은 AI 이미지 생성시에 애러가 없는 사이즈 들입니다. 사실 이과 출신들은 계산하자면 그리 어려운 일이 아니지만, 숫자만 봐도 경기를 일으키는 문과 출신들은 쉬운 계산도 머리 속에서 바로 휘발되기 때문에 이미지 사이즈는 간단하지만 중요한 문제가 됩니다. (이미지 사이즈가 틀린 경우 대부분은 이를 보정하여 유사한 이미지 크기로 생성해 주기는 하지만 모두 그렇게 처리해주지는 않습니다.)

 

스테이블 디퓨전 이미지 사이즈

시비타이나 기타 AI이미지 커뮤니티 등에 가보면 등록 된 이미지들이 대부분 512x512 나 512x768인 경우가 많습니다. 하지만 AI는 사실 굉장히 다양한 사이즈의 이미지를 생성 할 수 있습니다. 가령 옆으로 긴 와이드 사이즈나 세로로 긴 종사이즈도 모두 생성이 가능 합니다.

1280x472
504x1360

스테이블 디퓨전에서 이미지 사이즈는 다양 하지만 사이즈가 너무 큰 이미지로 생성 할 경우 vram의 한계에 따라 이미지 생성 중에 무너지는 경우가 발생 합니다.

그림의 오른쪽은 큰 사이즈로 생성 하는 중에 이미지가 무너진 경우 입니다.

오늘은 스테이블 디퓨전에서 이미지 사이즈를 설정하는 방법에 대해서 알아보았습니다.