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

글쓴시간
분류 기술,IT/스테이블 디퓨전
FLUX.1 Dev 사용하기

※ 원칙적(?)으로는 아래와 같이 사용할 수 있다.

1. https://huggingface.co/black-forest-labs/FLUX.1-dev/tree/main (공식 리포지토리)
   flux1-dev.safetensors 및 ae.safetensors 파일 다운로드

2. https://huggingface.co/comfyanonymous/flux_text_encoders/tree/main
   clip_l.safetensors 및 t5xxl_fp16.safetensors 파일 다운로드
   -> 공식 리포지토리의 text_encoder, text_encoder_2 아래에 있는 파일과 같은 파일이다.

3. 다운로드 받은 파일을 stable-diffusion-webui-forge 의 디렉토리로 옮김
flux1-dev.safetensors  -> models/Stable-diffusion/
ae.safetensors         -> models/VAE/
clip_l.safetensors     -> models/text_encoder/
t5xxl_fp16.safetensors -> models/text_encoder/
3. stable-diffusion-webui-forge 실행 후, 아래와 같이 세팅
UI: flux
CheckPoint: flux1-dev
VAE / TextEncoder: clip_l.safetensors, t5xxl_fp16.safetensors, ae.safetensors

4. GERERATE 버튼 클릭!

- 이렇게 실행하려면 최소한 24GB VRAM 을 가진 nVidia GPU 와 64GB 의 시스템 메모리가 필요하다.

- 일부 파일은 여기서 받음: https://huggingface.co/camenduru/FLUX.1-dev/tree/main

※ FP8, NF4으로 구성

속도를 빠르게 하고 메모리 사용량을 줄이기 위한 목적으로 FP8 이나 NF4 를 사용한 모델을 사용할 수 있다. 이걸로 해야 필자의 사양(RTX 2060 12GB, MEMORY 64GB)에서 실행된다.


사용자 삽입 이미지



t5xxl_fp16.safetensors -> t5xxl_fp8_e4m3fn.safetensors     https://huggingface.co/comfyanonymous/flux_text_encoders/tree/main
flux1-dev.safetensors  -> flux1-dev-fp8.safetensors        https://huggingface.co/Kijai/flux-fp8/tree/main
flux1-dev.safetensors  -> flux1-dev-bnb-nf4-v2.safetensors https://huggingface.co/lllyasviel/flux1-dev-bnb-nf4/tree/main

아니면 아래의 All-in-one 타입 을 사용할 수 있다.

https://huggingface.co/Comfy-Org/flux1-dev/tree/main FP8

※ 메모리 구성

전용 GPU 메모리(Dedicated GPU Memory): GPU 의 VRAM 용량
공유 GPU 메모리(Shared GPU Memory): GPU 에 의해 공유되는 시스템 메모리. 사용 가능한 용량은 시스템 메모리의 절반

- 스왑 메모리 위치
-- CPU: 모델을 GPU 메모리 및 시스템 메모리에 위치
-- Shared: 모델을 GPU 메모리 및 공유 GPU 메모리에 위치. 좀 더 빠른 대신 실행 이슈(크러시)가 발생할 수 있다.

- GPU Weights (MB): GPU 에 적재할 모델의 크기. 크면 클수록 좋지만, 이미지 생성시에도 GPU 메모리를 필요로 하기 때문에 적당히 조절해야 한다.

- 스왑 메쏘드
-- Queue: 모델 적재 -> 연산 -> 다른 모델 적재 -> 연산의 순서로 차례대로 진행된다.
-- Async: 모델 적재 -> 연산 및 다른 모델 적재 -> 연산 및 다른모델 적재 의 순서로 동시에 처리된다. Queue 보다 빠르지만, 모델에 따라 갑자기 매우 느려질때가 있다. Async 와 Queue 를 비교해보고 빠른걸 선택하자.

사용자 삽입 이미지

CivitAI 에 공개된 이미지 프롬프트를 보고 따라한 그림. FLUX 로 생성했다. https://civitai.com/images/31943195



https://github.com/lllyasviel/stable-diffusion-webui-forge/discussions/981
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 베어백 #1 Part 2/2

처음에 뽑은건 아래 첫번째 그림이다. 이게 맘에 들어서 이것저것 튜닝해 보았지만, 왠지 이와 유사한 그림이 나오지는 않았다.
사용자 삽입 이미지

그래도 나름 괜찮아 보인다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

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

꽤 괜찮은 사진이 우연히 생성되었다. 이것저것 프롬프트를 튜닝하다가 꽤 맘에 드는게 나왔다. 베트남의 전통 드레스 아오다이와 유사한것 같긴 하지만 (필자는 아오다이 전문가는 아니다) 어쨌든 꽤 맘에 든다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지

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

"FastSD CPU" CPU 만을 사용해서 이미지를 생성한다. LCM 이나 OpenVINO 를 사용하는듯.

예전에 한번 써보고 관심 없었는데, 갑자기 CPU 로 사용하는건 어떨까 해서 찾아봤다.

스텝은 4 이하로 설정하는게 핵심이다. 4 이하로 설정해도 품질이 좋은 이미지를 생성하기 위해 여러가지 작업을 한다. 물론 그렇지 않은 모델보다는 떨어지지만, 속도가 매우 중요한 경우에는 이 방법밖에 없다.

i7-7700K 에서 1장 생성하는데 약 30초 정도 걸린다. 품질도 생각보다는 좋다.

사용자 삽입 이미지

아래와 같이 LCM-LoRA 모델을 사용했다. OpenVINO 로 사용해도 속도는 크게 달라지지 않았다. OpenVINO를 사용해 성능을 향상시키려면 최신 CPU가 필요한것 같기도 하다. 예를 들어 AVX-VNNI 를 지원하는 CPU 말이다. (OpenVINO 는 AVX2 를 지원하는 CPU 에서 사용할 수 있다)

사용자 삽입 이미지


----

Stable Diffusion - LCM(Latent Consistency Model)
FastSD CPU
글쓴시간
분류 기술,IT/스테이블 디퓨전
FLUX.1 Dev - 이미지 생성형 AI

사용자 삽입 이미지

Stability AI 의 Stable Diffusion 3 (SD3) 가 주춤한 사이 FLUX.1 이 공개되었습니다. 8월 1일에 공개되었는데 이제 주목하게 되었네요. Stable Diffusion 시리즈를 만든 개발자 중 일부가 나와 Black Forest Labs 라는 회사를 차렸는데, 이 회사의 첫번째 생성형 AI입니다. 독일 회사입니다.

FLUX.1 의 성능이 매우 좋다고 해서 관심을 많이 가지고 있습니다. 전 아직 안 써 봤습니다만, SD3 보다는 좋아보입니다. SD3 는 라이선스에 이슈가 있어서 아직까지는 대중화 될지 안될지 모릅니다. FLUX.1 의 경우 특히 "손"도 잘 그리는것으로 알고 있습니다. 엄청난 성능에 SD3 로는 대응이 안되어서 Stability AI 에서는 SD 3.1 을 내놓을 예정이라 합니다.

현재 SD 는 개발사에서 제공한 모델이 주류가 아닙니다. SD1.5 의 경우 개발사에서 제공한 모델보다는, 수많은 사용자들이 만든 모델들을 사용하고 있고요, Dreamshaper 8 정도가 유명합니다. 저도 제가 병합한걸 쓰고 있습니다. SDXL 의 경우 개발사에서 제공한 모델 보다는, 사용자들이 학습시킨 Pony Diffusion 이나 Animagine XL, JuggernautXL v9 기반의 모델이 더 널리 쓰이고 있죠. 심지어 Novel AI 3 도 SDXL 기반으로 알려져 있고 꽤 성능이 좋죠. 이후에 나온 SD3 나 FLUX.1 도 마찬가지일거라 생각합니다. 사용자들이 학습시키려면 라이선스가 중요한데 일단 SD3 는 사용하기 어렵겠네요. 약 6개월 정도 후면 사용자들이 학습시킨 모델이 나올텐데 이떄쯤에 판가름 되겠죠.

FLUX.1 은 Pro, Dev, Schnell 의 3가지로 제공되는데 Pro 는 유료고, 공개된 건 Dev 와 Schnell 입니다. 120억개 파라메터를 가지고 있습니다. "Schnell"은 4스텝 고속 추론 모델이라 성능이 더 좋은 "Dev" 모델이 주가 될겁니다. 약어로 "FLUX.1 D"라고 부르네요. 아직 Stable Diffusion WebUI (SDUI) 에서는 지원이 안되고, Stable Diffusion WebUI Forge (SDF) 에서 지원된다고 하네요. SDF 는 예전에 VRAM 이 낮은 기기에서도 느리지만 이미지 생성이 되어서 한때 잘 썼었는데요, 다시 보니깐 반갑네요. (물론 같은 파라메터를 주어도 SDUI 와 유사한 이미지를 만들지 않습니다. 내부 알고리즘이 호환이 안되는거라서요)

FLUX 라는건 "선속"이라는 의미입니다. 특정 공간에서의 어떤 물리량의 "흐름"을 의미합니다. 주변에서 흔히 볼 수 있는 FLUX 라는 용어는 광선속을 이야기할때 주로 사용합니다. 광선속의 단위가 루멘, 칸델라, 럭스이고, 조명 기구의 밝기를 나타냅니다. 단위 면적당 광자의 흐름을 나타내죠.

Black Forest Labs
GitHub - black-forest-labs/flux: Official inference repo for FLUX.1 models

----

FLUX.1 Dev 사용하기
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 레인보우와 드레스

CivitAI 에서 비슷한 그림을 보고 내 식대로 따라 만들었다. 역시 이미지는 영감을 잘 받아야 좋은 이미지가 나온다. 역시 사진은 빛을 어떻게 담느냐고 AI 에서도 마찬가지다. 빛을 어떻게 표현하느냐가 관건이다.

LoRA 를 괘 많이 사용해서인지 얼굴 표현하는것도 잘 안되었다. 결국 ADetailer 를 사용했다.

날갯짓 하는 포즈도 여러개 나오긴 했는데 전부 손가락 표현이 이상해서 모두 삭제. 에혀.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지


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

메이크업은 좋은데 눈매가 내가 원하는 눈매는 아니다. 뭔가 깊은 생각에 잠겨있는듯한 눈매가 좋아서 말이다.우수(憂愁, 근심 걱정)에 젖은 눈매가 나오긴 하는데 그건 좋아하진 않는다.

이건 메이크업 한 눈매다. 어쨋뜬 맘에 드는 12장 추려 올렸다.

사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


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

체크 포인트 바꾼 김에 한번 생성해보았다. 여태까지는 메이크업을 안한 얼굴이었는데, 이번에는 메이크업 관련 프롬프트를 주었다. 그래서인지 얼굴이 조금 더 하얗게 나왔다. 붉은 입술도 아마 그래서 나온거 같다.

사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 빅토리아 #1 파트2

일부러 파란색, 초록드레스로 골라봤다.역대급으로 잘 나온 첫번째 사진이 가장 맘에 든다. 왠지 분위기도 있고 말이다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 빅토리아 #1 파트1

드레스중에 가장 좋아하는게 빅토리아 시대의 드레스다. 물론 고증이 잘된걸 좋아하는건 아니고 약간 현대식으로 개량된걸 좋아한다. 마침 괜찮아 보이는 LoRA 가 올라와서 작성해 보았다.

최근에 사용하고 있는 체크포인트는 왠지 흰색-금색이 잘 나온다. 프롬프트 바꾸면 되긴 하지만, blonde 프롬프트를 포기하고 싶진 않아 그냥 금색으로 생성했다. (SD1.5 에서는 색상 변경이 잘 안된다)

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지