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

글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - LoRA 적용시 얼굴 변경 문제

SD로 생성한 그림에 예쁜 옷을 입히기 위해 LoRA 를 사용하곤하는데, 이렇게 하면 얼굴이 변경되는 문제가 있다. LoRA 를 트레이닝 할 때 사용된 이미지에 얼굴이 있고 이게 이미지 생성시 반영되기 때문이다.

그래서 요즘 나오는 의복용 LoRA 에는 일부러 얼굴을 학습시키지 않는 경우도 있다. CivitAI 에서 봐도 이렇게 트레이닝된 LoRA 들이 꽤 보인다. 이런 LoRA 는 얼굴이 변경되지 않기 때문에 이미지 생성하기 편해진다. 문제는 예전에 작성된 LoRA 다. 이런건 답이 없다.

그래서 생각해낸게,

"540x960 에 Hires. fix 를 사용해 1080x1920 이미지를 생성"

하던걸

1. 540x960, Face Editor 사용 (Face Editor 용 프롬프트는 LoRA 제거한 프롬프트로 넣음)
2. img2img 에서 LoRA 제거한 프롬프트를 넣어 SD upscale.

와 같이 진행한다. 이렇게 하니 만족할만한 결과가 나왔다. 얼굴이 거의 LoRA 사용 전의 모습으로 나오기 때문이다. 아래는 그 예이다. 이 이미지에 사용된 LoRA 와 그 해시값은 아래와 같다.

Gini_S2: e2e472c06607, last1234: 301e2ea327fa, ggx_V11: cd7ed3536d8f

사용자 삽입 이미지

참고로 Face Editor 는 https://github.com/ototadana/sd-face-editor.git 를 사용했다.
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 접수원 #2

접수원 이미지 두번재 이미지 모음.

올리고 보니 포즈가 대부분 비슷하다는걸 느꼈다. 다음번엔 앉아있는걸 생성하는걸 도전해봐야하겠다.

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

인터넷에서 재미있어 보이는 LoRA 가 있어 적용해보았다. 접수원, 응접원 의상이다. 영어로는 receptionist 라고 한다.

주로 조끼, 셔츠, 펜슬 스커트, 구두 차림을 의미하는데 조끼를 입은 형상을 생성하기 힘들었다. 이 부분을 LoRA 로 채워준 셈이다.

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
글쓴시간
분류 기술,IT
CPU 점유율 100%

갑자기 CPU 팬이 매우 빨리 돌아가서 시끄러워졌다.

사용자 삽입 이미지


CPU 부하 체크해보니 100% 가 나오기도 했다. i3-6100 은 하이퍼스레드를 지원하기 때문에 하이퍼스레드를 제대로 지원하는 소프트웨어를 사용할때만 전체 CPU 점유율이 50%를 넘긴다. 하지만 그런 경우가 많지는 않는데 100% 가 나왔다. 신기해서 캡처했다.

사용자 삽입 이미지

이렇게 점유하면 전력소모가 늘어난다. i3-6100 의 TDP 는 51W 이다. 체크해보니 34.7W 가 나오는데 이정도면 거의 최대치라고 생각된다. CPU 온도도 78도로 많이 높아졌다.

보통 이러면 어디 잘못된데 없을까하고 프로세스를 살펴보겠지만, 이 경우에는 정상이라 그냥 넘어갔다.
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 적발

주황색, 적색 헤어를 가진 캐릭터를 그려 보았다. 요즘 나오는 에니 실사 영화에서 예쁜 적발 캐릭터가 하나 없어진 아쉬움에 그려보았다.

전세계적으로 원래 적발도 꽤 흔한건 아니고, 꽤 많은 차별이 있어왔다고 알고 있다. 아니 있다. 역사적으로 이들도 꽤 많은 차별을 받아왔는데, 어느 에니에서 적발 캐릭터를 바꾼다는게 이해가진 않는다. 적발, 차별 정도로 인터넷 검색해보면 쉽게 검색된다. 적발은 아일랜드계에 많이 있는데 아일랜드와 영국의 역사를 참고하면 쉽게 짐작할 수 있다.

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

Stable Diffusion 에서는 적발이 묘사가 잘 안되는거 같아 오렌지 색으로도 프롬프트를 주어 작성했다.

사용자 삽입 이미지
사용자 삽입 이미지
글쓴시간
분류 기술,IT/하드웨어 정보
Intel® Pentium® G4560 - CPU-Z

출시 당시 6100보다 저렴하지만 6100에 맞먹는 성능을 지녔다면서 인기를 끈 CPU다. 출시당시에는 G4560 이 8만원, 6100 이 12만원으로 기억한다. 내가 마지막으로 사용해본 펜티엄이 Core 시리즈일때이기 때문에 정말 오랜만에 사용하게된 펜티엄이다.

AVX를 지원하지 않는건 좀 아쉽다. (물론 AVX 까지 지원되었다면 i3가 아예 안팔렸겟지) 그래도 AES 는 지원해준다.

사용자 삽입 이미지

벤치는 정말 6100과 비슷하게 나온다.

사용자 삽입 이미지

내장된 그래픽은 HD 610 이다. i3-6100 의 HD 530이나 G4560의 HD 610 이나 그게 그거다.

사용자 삽입 이미지
사용자 삽입 이미지

CPU에 연결된 PCIe x16 이 작동하지 않는다. 뭔가 비정상인거 같긴 하지만, 공짜로 받은거니 그냥 쓰려한다. 다른 부분은 이상없이 잘 작동한다.

사용자 삽입 이미지

사용자 삽입 이미지

----

Intel® Core™ i5 7500
Intel® Core™ i3 6100
Intel® Pentium® G4560
Intel® Core™ i7-7700K
글쓴시간
분류 기술,IT/하드웨어 정보
ASUS PRIME H270-PLUS

사용자 삽입 이미지

펜티엄 CPU와 메모리 4G 포함 당근에서 4만냥에 구매했다. 현재 H270 ATX 마더보드의 중고 가격은 7만원 정도다. CPU와 메모리에는 관심 없었다. 원래는 M-ATX 폼 팩터를 원했지만 마침 괜찮은 매물이 있어 구매했다.

사용자 삽입 이미지


마더보드에 이상 없다. PCIe 도 잘 작동하고 메모리 슬롯 4개도 잘 인식된다. 부랴부랴 윈11 설치해서 잘 쓰고 있다. 오디오 단에 불이 들어오지 않아서 인터넷 검색해보니 원래 불이 들어오지 않는다. PCIe x16 슬롯의 걸쇠 2곳에 불이 들어온다.

사용자 삽입 이미지

- 바이오스를  2018년 6월 1일 출시된 마지막 버전인 2001 으로 업그레이드했다. 몇달전에 샀던  H110-K 보다 CPU 펌웨어 버전(ME버전)이 낮아 조금 아쉽다.

사용자 삽입 이미지

- 처음 살때에는 보드가 전체적으로 약간 휘어져있었지만 (그래서 저렴하게 구매한거기도 하다), 몇달 사용하고 나니 잘 펴졌다. 당근 판매자도 사용하다가 고장나면 연락 달라고 했었는데 결과적으로 연락 안했다. 역시 ASUS라 좋은듯. 펴지면서 마더보드 고장나는 경우도 흔하기 때문에 이경우는 단지 운이 좋았다고 할 수 있다.

- 전원부는 6 페이즈다. i7-7700K 까지 무리없이 구동할 수 있는 스펙이다.

- 나중에 알았지만 이 마더보드는 채굴용으로 꽤 많이 사용했다고 한다. 나름 검증된 제품이라는 듯 하다. PCIe x1 이 4개나 있고, 총 6개의 장비를 끼울 수 있는데다 가격도 저렴했고 말이다. 당시 이 가격대에서 6개의 PCIe 가 있는 경우가 흔하지 않았다고 한다. 이 제품이 15만원에 판매되었는데, 채굴 붐이 일어났을때는 20만원이 넘었던데다 품절이었다고 한다.
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion web UI 1.3.0 - 버그

2일전 배포된 Stable Diffusion web UI 1.3.0 에 버그가 제법 많은것 같다. 버그 리포트가 심심치않게 올라오고 있다. 곧 패치되겠지만 당장 실행안되는것부터 해결해야 한다. 필자의 경우 venv 생성시 pytorch 설치부터 안된다.

git 에는 특정 태그로 되돌리는 기능이 있다. 이 기능을 사용해 1.2.1 으로 되돌린 후 사용하자. 아래와 같이 하면 된다.

# git tag
v1.0.0-pre
v1.1.0
v1.1.1
v1.2.0
v1.2.1
v1.3.0
v1.3.0-RC
# dir launch.py
2023-05-30  오후 12:45               953 launch.py
# git checkout v1.2.1
...
# dir launch.py
2023-05-30  오후 12:47            14,682 launch.py

이렇게 한 후 실행한다.

원래대로 돌아가려면 (특정 버전을 사용하지 않으려면)

# git switch -

를 사용한다.
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - xFormers 0.0.20

사용자 삽입 이미지
요즘에 가장 핫한 AI 알고리즘이 Transformer 라는 알고리즘이다. 대규모 언어 모델을 구현할때 많이 사용한다. xFormers 는 페이스북에서 만든 Transformers 기반의 성능향상 파이썬 모듈이다 nVidia CUDA 에 최적화되어있다. Stable Duffusion 에도 Transformers 가 있기 때문에, 이 부분을 성능향상시켜준다. 

사용자 삽입 이미지

Transformer 아키텍처.라고 한다.


몇일전에 xFormers 0.0.20 이 나왔다. 성능이꽤 많이 향상되었다고 해서, 한번 써 봤다.

2023.05.26 현재 Stable Diffusion webUI에서 소스 수정없이 설치되는 xFormers 버전은 0.0.17 이다. 조만간 0.0.20 을 사용하도록 변경할 것으로 생각한다.

필자는 RTX 2060 12G 을 사용하고 있다. nVidia 홈페이지에서 윈도11용 드라이버를 새로 받았고, Stable Diffusion 디렉토리의 venv디렉토리를 지우고, launch.py 를 수정해 xFormers 0.0.20 을 설치했다.

결론부터 말하자면, 꽤 만족할만한 성능 향상이 있었다. xFormers 0.0.17 으로 2:27 걸리던 이미지 생성시간이 XFormers 0.0.20 으로 업그레이드 하니 2:04 이 걸렸다. 20여초나 단축한 셈. 매우 많은 성능향상이다.

----

https://github.com/facebookresearch/xformers
글쓴시간
분류 기술,IT
윈도11 Shell Infrastructure Host 의 CPU 점유율 상승 현상

윈도 11에서 사진 앱을 실행한 후 종료했지만, Shell Infrastructure 라는 프로세스가 계속 작동하는 현상이 발생했다. 이로 인해 CPU 점유율이 코어 1개를 전부 소비하는 현상이 발생했다. 아무래도 이건 버그인듯 한데, MS 에서는 아직 패치를 발표하진 않았다. 인터넷 살펴보니 최소 작년부터 발생한 버그인거 같다.

우선 증상 확인은 아래와 같이 할 수 있다. 작업관리자에서 Sheel Infrastructure Host 가 CPU 를 많이 점유하고 있다.
사용자 삽입 이미지

해결방법은
1. 앱을 초기화한 후
2. Shell Infrastructure Host 를 강제로 종료하면 된다.

- 앱을 초기화하는 건 아래 사진처럼 설정 - 앱 - 설치된 앱에서, Microsoft 사진을 찾아 들어가면 하단의 초기화 섹션에 "복구", "초기화" 버튼이 있다. 차례대로 눌러준다. 강제종료하는건 작업관리에서 Shell Infrastructure Host  을 선택한 후 상단의 "작업 끝내기" 클릭하면 된다.

사용자 삽입 이미지