Bamboo is coming

Dreambooth 설치기(Stable diffusion webui) 본문

Daily life/Development vlog

Dreambooth 설치기(Stable diffusion webui)

twenty 2023. 11. 30. 14:08

Dreambooth : https://github.com/XavierXiao/Dreambooth-Stable-Diffusion

 

Dreambooth는 구글에서 발표한 파인 튜닝 기법으로 특히 text-to-image diffusion 모델을 몇 가지 이미지만으로 학습시키는 기법이다. 유튜브에서도 쏟아지듯이 dreambooth를 활용해서 stable diffusion을 학습시킬 수 있는 코드가 많이 나와있는데 나는 그 중에서 TheLastBan 드림부스 colab 버전을 사용했다.

 

유튜브: 이 사진은 합성이 아닙니다. Google의 미친 기술 드림부스 개념과 사용 방법

 

뭐 미친 성능, 대박이다 이런 말만 들어봤지 실제로 실행시켜보는건 처음이었는데 모델별로 목표로 하는 바가 다르다는 것을 뼈저리게 느끼게 되었다. dreambooth는 stable diffusion의 text-to-image diffusion을 이용해서 "내 애완견 구름이"라는 프롬프트 중에서 "구름이"를 학습시켜 이를 stable diffusion의 툴에 적용하는 방식이었다. 그래서 입력 값으로 넣어야 하는 이미지가 같은 대상을 여러 구도, 각도로 촬영해야하고 악세사리를 착용하는 등 최대한 그 대상의 다양한 형태를 입력값으로 넣어야 한다는 거였다. 

 

논문에 따르면 unique한 instance prompt를 입력해서 해당 prompt를 넣으면 저 형태가 나오는 식인데 

class prompt가 photo of a dog이면 instance prompt는 photo of a zwx dog 이런 식이어서 학습을 다 시키고 나서 prompt로  zwx dog in the Acropolis를 입력하면 저 이미가 나오는 형식이다. 

 

결국 내가 입력한 이미지의 형태나 특징은 보존하되 조금 변형한 그런 이미지를 생성하는 건데 내가 실제로 입력시켰던 결과물에는 그닥 효과적이지 않았다. 

 

 

왼쪽부터 학습이미지, input, output

 

왼쪽부터 학습이미지, input, output인데 hamster with pizza를 prompt로 넣어서 img2img를 출력한 결과물이다. 

TheLastBan 드림부스는 이미지명이 instance명으로 들어가는 것 같았고 instance 명을 따로 삽입하지 않아서 그런지 평범한 stable diffusion의 방식으로 된 것 같다. 

 

 

이 이미지들은 class를 cartoon으로 넣은 이미지들인데 dreambooth가 학습하면서 자동으로 sample 이미지를 뽑아주었다. 

 

dreambooth colab 무료로 사용하면서 느낀 건데 일단 기본적으로 dreambooth를 순정 그대로 사용하려면 23GB의 메모리 용량이 필요하다. 

① colab 무료 버전은 메모리 용량이 15GB 밖에 되지 않는다. 

② colab으로 webui를 돌리면 비정상적인 사용이 감지된다면서 3~5분 내외로 종료된다.

즉, 나처럼 gpu가 없는 가난한 학생들은 무조건 한달에 만원 상당에 colab pro를 이용하는 게 좋겠다. 

현재는 Tesla T4 15GB지만 그 윗단계는 A100 40GB, V100 ?GB라고 하니까 메모리 걱정없이 사용할 수 있을 거다. 

 

Comments