윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - Floral Dress

AI 에서 생성할 수 있는 드레스를 꼽자면 단연 이런 드레스를 꼽는다. 실존하기 어려운, 실제로 만들기 어려운 드레스다.

드레스 이미지 생성할대 가장 신경쓰는게 바로 손가락이다. 아직 잘 못 그리기 때문. 나머지 빛이라던가 얼굴 형태는 어떻게든 간접적으로 되긴 하는데, 손은 아직 자연스럽게 안된다. img2img 를 계속 쓸 수 있는것도 아니고 말이다. 다른 익스텐션을 사용해봐도 아직 마땅치 않다.

최초로 얼굴을 바꾸는 LoRA 를 사용하지 않고 올려본다. 그만큼 체크포인트가 얼굴 표현이 잘 되었다는 이야기도 하다.

프롬프트의 주제는 Floral, Lily, Tiara, Cyan 이다. 나름 잘 나와서 올려본다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지





글쓴시간
분류 기술,IT/스테이블 디퓨전

Stable Diffusion - Mapled Leaf

우연히 생성한 이미지. 별 생각없이 CivitAI 두리번 거리다가 재미있는 사진을 발견했고 내가 사용하는 체크포인트로 그려보았다. 그래서 나오게 된 사진 2장 올려본다.

특히 아래 사진은 이것과 유사한게 나오지 않을 정도로 특이한 사진이다. 렌즈 장 노출로 찍은 듯한 사진이라 한동안 보고 있었다.

사용자 삽입 이미지

원래 의도했던 사진은 아래와 같다. "강위의 섬 위에 홀로 있는 붉은 나뭇잎을 가진 오래된 나무"가 주제다.
사용자 삽입 이미지

글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 벤치

공원 벤치에 앉아있는 여인을 그려달라고 했는데, 딱 하나 아래 처럼 생성되었다. 괘 맘에 들어서 올려본다.

사용자 삽입 이미지

SD 를 하다보면 가끔 이렇게 알 수 없는 디자인이 나오기도 한다. 같은 프롬프트로 시드를 다른걸로 그려봐도 전혀 같은게 나오지 않는 그런거 말이다. 위의 이미지도 마찬가지. 꽤 맘에 들었다.
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion WebUI 가 v1.8.0 으로 업그레이드 되었다.

사용자 삽입 이미지

- 가장 눈에 띄이는건, Pytorch 버전과 Xformers 버전이 올라갔다는거. 9초 걸리던 생성시간이 8초대로 줄었다.

torch: 2.1.2+cu121 • xformers: 0.0.23.post1 으로 업그레이드 되었다.

- Generate 버튼 눌렀다가 다시 취소할때 뭔가 메시지가 나온다. 한참 기다릴 필요 없어서 좋다. 또한 Extra 에서 이미지 업스케일시 배경에 업스케일링 상태바가 출력된다.

사용자 삽입 이미지

- LoRA 설정 창에서 이미지 업데이트하면 바로 갱신이 안된다. 리로드를 눌러줘야 한다. 버그인듯. 조금 불편하군요.

- 지금 설치되어있는 LoRA 가 2000 여개가 된다. 앞으로 더욱 늘어날 텐데, 이걸 관리해주는 기능이 강화되었으면 한다. 하지만 "어떻게" 강화해야하는지는 잘 모르겠다. 나만큼 LoRA 많이 쓰는 사람도 많은거 같다.
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion WebUI 4K 이미지 생성

사용자 삽입 이미지

nVidia 드라이버 업데이트로 언제부턴가 VRAM 이 부족하면 시스템 메모리의 50%까지 가져와 사용하도록 변경되었다.

이런 변경사항때문에 4K 로 바로 업스케일 가능한지 테스트해보았다.

※ 테스트 사양

메모리: VRAM 12GB, SYSTEM RAM 32 GB
SD WebUI: v1.7.0, "--xformers --no-half-vae" 옵션

※ 테스트

① 544 x 960 → 1088 x 1920 변환(Hires. fix)작업: 시간: 01m 56s, A: 8.40 GB, R: 12.71 GB, Sys: 12.0/12 GB (100.0%)
② 544 x 960 → 1632 x 2880 변환(Hires. fix)작업: 시간: 08m 43s, A: 15.93 GB, R: 25.72 GB, Sys: 12.0/12 GB (100.0%)
③ 544 x 960 → 2176 x 3840 변환(Hires. fix)작업: 실패. > 12m

A: 캐시 제외한 비디오 메모리 사용량
R: 토치 라이브러리의 최대 메모리 사용량
Sys: 비디오 메모리 사용량/총 비디오 메모리

※ 4K 를 바로 생성하려면 시스템 메모리 64GB 는 되어야 한다고 예상된다. 지금은 그냥 Extra 탭에서 업스케일링 하고 있다. 조만간 64GB으로 업그레이드할 생각이긴 하다.

※ 실패시에는 아래와 같은 문구가 나왔다. 마지막단계(생성 다 끝나고 VAE 사용하는 단계)에서 오류난다.

OutOfMemoryError: CUDA out of memory. Tried to allocate 7.97 GiB (GPU 0; 12.00 GiB total capacity; 18.51 GiB already allocated; 0 bytes free; 18.54 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

Time taken: 12 min. 41.4 sec.

A: 20.55 GB, R: 22.88 GB, Sys: 12.0/12 GB (100.0%)

메시지의 내용은 7.97GiB 할당하다가 오류났고 이걸 해결하려면 결과적으로 7.97GiB 메모리가 더 필요하다는 의미다. 최소 VRAM 을 8GB 증설하던가, 시스템 메모리를 16GB 증설하던가 해야 한다.

※ 테스트에 사용한 이미지는 아래와 같다.

사용자 삽입 이미지

원본


사용자 삽입 이미지

Hires fix 2배


사용자 삽입 이미지

Hires fix 3배


사용자 삽입 이미지

Extra 2배


사용자 삽입 이미지

Extra 3배


사용자 삽입 이미지

Extra 4배

글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 반월 #1

만월과 드레스는 있는데 반월과 드레스는 없다는 생각이 문득 들었다. 그래서 바로 실행. 마침 반월과 관련된 LoRA 가 있어서 그걸 활용해 보았다.

사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 메이드 #1 Part2

아래 사진들 생성하다가 의도하지 않은 사진이 나와 몇가지 다듬어 올린다. 왠지 분위기 있게 잘 나온 거 같아 만족하는 중.

들고있는 막대기를 없애려 했지만 잘 안 없어진다. 그래서 이미지와 어울리는 걸로 골랐다. 400여장 중 이정도 건졌으면 성공한 셈이다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 메이드 #1 Part1

오래전부터 메이드 그림을 생성하곤 했지만 맘에 드는게 별로 없었다. 너무 뻔한 그림이였다. 조금 색다른 LoRA 가 나왔고, 우연히 프롬프트 주니깐 나왔다.

아직 SD 1.5 를 사용하고 있지만, 아래와 같이 요즘 나오는 SD 1.5 의 퀄리티도 작년에 비해서 많이 좋아졌다. 그만큼 많은 양이 학습된데다, 양질의 LoRA 도 많이 나오고 있기 때문이다. 기법도 많이 발전했고 말이다.

사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - SDXL 두번째 이야기

SDXL 이 공개(2023.07.28)된지 약 6개월이 지났다. 필자는 아직 SD1.5를 주로 사용하고 있지만, SDXL 도 점점 사용회수를 늘이는 중이다. SDXL 을 사용하면서 선명도 때문에 언젠간 SD1.5 에서 SDXL 으로 전환해야 한다는 생각은 하고 있지만, SD1.5 도 6개월 전에 비해 많이 발전했기 때문에 전환할 일정은 좀 나중이 될거 같다. 아직도 에니메이션 풍의 그림은 SDXL 보다 SD1.5가 더 좋다. 아니면 최종적으로 병행해 사용하거나 말이다.

사용자 삽입 이미지

SDXL 으로 그린 그림. 선명한 그림을 그릴 수 있어 좋지만, 아직 에니풍의 화면은 무리다.



- 현재 SD WebUI 에서 SDXL 을 원활히 사용하기 위해 필요한 메모리 양은 윈도11의 경우 시스템 메모리 24GB 이상, VRAM 12GB 이상이다. CPU 는 크게 상관 없다. 듀얼코어에서도 크게 문제 없다.

- VRAM 이 8GB 인 경우에도 문제 없이 실행해볼 수 있다. --medvram-sdxl 옵션을 사용해야 한다. 시스템 메모리는 조금 많아야 한다.

- VRAM 이 4GB 인 경우에도 --lowvram 옵션을 사용해 실행할 수 있다. 해보지는 않았다.

- 반드시 nVidia 드라이버 최신 버전 사용하고, 리눅스사용할 경우 tcmalloc 반드시 사용하도록 하자.

- 스토리지가 많이 필요하다. 체크포인트만 해도 최소 6GB 이고, LoRA 파일의 용량도 SD1.5 에 비해 평균적으로 3배는 크다.

- SD1.5 에 비해 생성할 이미지의 해상도를 늘여야 하기 때문에 그만큼 느리다. 필자는 SD1.5 는 512x768, SDXL 은 832x1216 을 기본 해상도로 사용하고 있다. 그만큼 메모리 많이 먹는다.

- 필자는 현재 SD WebUI 에 "--xformers --no-half-vae" 옵션만 붙여서 사용하고 있다.

----

Stable Diffusion XL 1.0 출시
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 별

원래 주는 프롬프트에 오타도 났고, 스케일업 설정도 평소와 다르게 들어갔지만 결과가 맘에 들어 올려본다.

사용자 삽입 이미지