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

글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 정복 미녀 #1 Part 1

정복이란 "의식을 행할때 입는 예복"을 말한다. 여성용 정복이라함은 블레이저, 스커트, 블라우스, 스타킹, 펌프스 정도로 되어있지만 조금 다르게 생성해 보았다.

사용자 삽입 이미지

사용자 삽입 이미지


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

마법사 이미지를 만들어보았다. 마침 재미있는 LoRA 도 발견하고 해서 말이다. 생각보다는 그럴듯하게 나와 올려본다.

원피스 드레스에 장신구도 좀 넣어보려 했지만 웬지 마법사 이미지하고는 맞지 않아 넣지 않았다. 스태프도 뭔가 고대 현자 스러운 나무 스태프를 넣어보려 했지만 잘 안되었다. 약간 아쉬움이 있다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


글쓴시간
분류 기술,IT/스테이블 디퓨전
nVidia GT 1030 (2GB VRAM) 으로 Stable Diffusion WebUI 사용하기

※ 여러가지 시행착오끝에 아래와 같은 512x768 이미지를 GT 1030 에서 2분대에 생성할 수 있도록 했다. 작년 이맘때 생성한게 10분 대였다는걸 감안하면 많은 발전이다. 그만큼 기술이 늘었다는 셈이다. 이 방법은 아마도 2G VRAM 을 가진 모든 nVidia 계열에서 사용할 수 있을거 같다.

사용자 삽입 이미지

※ 하는 방법을 적어 놓는다.

1. Ubuntu 22.04 를 설치하고 nVidia 그래픽 카드 드라이버를 설치한다. 이 글을 쓰는 시점에서 드라이버 버전은 550.67 이다. 윈도에서는 이 방법이 되지 않는다.

2. OS 가 띄워진 후에도 VRAM 2GB 를 온전히 비워질 수 있도록 한다. 필자의 경우 모니터 연결은 내장 그래픽을 사용했다.

3. Stable Diffusion WebUI 를 설치하고 실행한다. 옵션은 "--medvram --listen --xformers" 을 준다.

glibc version is 2.35
Check TCMalloc: libtcmalloc_minimal.so.4
libtcmalloc_minimal.so.4 is linked with libc.so,execute LD_PRELOAD=/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4
Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]
Version: v1.9.0
Commit hash: adadb4e3c7382bf3e4f7519126cd6c70f4f8557b
Launching Web UI with arguments: --medvram --listen --xformers
Loading weights [********] from Model.safetensors
Running on local URL:  http://0.0.0.0:7860

To create a public link, set `share=True` in `launch()`.
Startup time: 7.1s (prepare environment: 1.4s, import torch: 2.4s, import gradio: 0.6s, setup paths: 1.2s, import ldm: 0.1s, initialize shared: 0.1s, other imports: 0.3s, list SD models: 0.1s, load scripts: 0.4s, create ui: 0.4s).
Creating model from config: /home/windy/stable-diffusion-webui/configs/v1-inference.yaml
Applying attention optimization: xformers... done.
Model loaded in 1.6s (load weights from disk: 0.5s, create model: 0.3s, apply weights to model: 0.5s, calculate empty prompt: 0.2s).

4. 이미지를 생성한다. 아래 화면 참조하자. 프롬프트는 75 토큰 이하, 네거티브 프롬프트가 반드시 75토큰이상 150토큰 이하이어야 한다. (왜그래야 하는지는 모르겠다)


사용자 삽입 이미지


4-1. 아래와 같이 화면에 표시된다.

100%|████████████████████████████████████████████████████████| 24/24 [02:33<00:00,  6.40s/it]
Total progress: 100%|██████████████████████████████████████████████| 24/24 [02:36<00:00,  6.54s/it]
Total progress: 100%|██████████████████████████████████████████████| 24/24 [02:36<00:00,  6.36s/it]

4-2. VRAM 사용량은 아래와 같다. 1952 MB 사용한다.

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.67                 Driver Version: 550.67         CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GT 1030         Off |   00000000:01:00.0 Off |                  N/A |
| N/A   53C    P0             N/A /   19W |    1955MiB /   2048MiB |    100%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A      5895      C   python3                                      1952MiB |
+-----------------------------------------------------------------------------------------+


4-3. 생성 완료된 후 나오는 텍스트는 아래와 같다.

best quality, masterpiece, 1girl

Negative prompt: ng_deepnegative_v1_75t, EasyNegativeV2, bad_prompt_version2,
Steps: 24, Sampler: DPM++ 2M SDE Heun, Schedule type: Karras, CFG scale: 7, Seed: 1121270688, Size: 512x768, Model hash: ********, Model: Model, Clip skip: 2, Version: v1.9.0

Time taken: 2 min. 44.3 sec.

A: 1.78 GB, R: 1.83 GB, Sys: 1.9/1.94531 GB (98.1%)

5. 정말 아슬아슬하게 생성되는 셈이다. --lowvram 과 아닌건 성능 차이가 많기 때문에 필자는 이렇게 사용하고 있다.

----

2024.05.19 추가

- 이렇게 세팅하는 경우 LoRA 는 사용 가능하다.

- 배치는 사용할 수 없다. VRAM 이 몇십메가가 모자르기 때문에 사용이 안된다. 아깝다.

- Stable Diffusion WebUI Forge 라는 걸 사용하면 2GB 에서도 원활히 생성할 수 있다. 사용방법도 Stable Diffusion WebUI 와 비슷하다.

- 오늘 생성해보니 이유는 모르겠지만 시간이 줄었다. 2분이 안걸린다.

사용자 삽입 이미지



사용자 삽입 이미지
글쓴시간
분류 기술,IT
nVidia 그래픽 카드 윈도/리눅스 드라이버 버전

사용자 삽입 이미지

nVidia 제품별 리눅스 드라이버 지원상황을 살펴보았다.


제품 시리즈                    버전          출시일
------------------------------ ------------- -------
RIVA TNT, TNT2, Geforce 256, 2 71.86         2005.xx
GeForce 2 MX,3,4               96.43         2012.09
GeForce 5 FX                   169.12        2008.02
GeForce 6, 7                   304.137       2017.09
GeForce 8, 9,100,200,300       340.108       2019.12
GeForce 400,500                390.157       2022.11
GeForce 600,700                470.239.06    2024.02
GeForce 900 ~                  550.76        2024.04
최종갱신일: 2024.04.21

GeForce 600 시리즈 드라이버 지원을 아직까지 해주는군요. (470.xx 에서 업그레이드는 없습니다만 아직까지 버그 픽스가 되고 있네요) 생각 외였습니다. 제가 가지고 있던 8400GS 는 이제 보내줘야 할때가 왔나보네요.

Ubuntu 22.04 버전에서는 390.157 이하의 버전이 설치되질 않는다고 합니다. 340.108 은 설치 안되는걸 확인했습니다. 커널 버전에 따라서 안되는게 있네요. 그냥 포기.

----

https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/

nVidia GeForce 8400GS (G98) - GPU-Z
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion WebUI 4K 이미지 생성 - 2번째 이야기

사용자 삽입 이미지


기존에 4K 이미지 생성하는걸 실패했다는 글을 작성한적이 있다. 시스템 메모리를 업그레이드하면 되지 않을까 했었는데, 실제 메모리 업그레이드를 단행해 보았다. 그리고 4K 이미지 생성되었다.

※ 테스트 사양

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

※ 테스트

③ 544 x 960 → 2176 x 3840 변환(Hires. fix)작업: 시간: 15m 42s, A: 26.46 GB, R: 42.11 GB, Sys: 12.0/12 GB (100.0%)

-> Extra 탭에서 변환하는 것보다 Hires. fix 으로 생성하는게 디테일이 더 살아있다. 4K 이미지 생성시 시스템 메모리 64GB 는 필수다.

※ 메모리 사용량

마지막 단계에서 아래와 같이 사용한다. 이때 위에 나온 "A: 26.46 GB" 를 사용하는 셈이다.

사용자 삽입 이미지

----