2023. 2. 7. 04:21ㆍ프로그래밍
Stable Diffusion 이라는 것을 이용한다. Hugging Face 라는 곳에서 사람들이 버전을 따로 만든 것을 구할 수 있다.
https://huggingface.co/CompVis/stable-diffusion-v1-4
현재 Ai 가 그림을 그려주는 사이트들이 대부분 활성화 되어있다. 하지만 NSFW와 같은 경우는 허용하지 않고 있다. 그러나 https://www.mage.space/ 의 경우, 돈을 받고 허용해준다. 돈을 내지 않고 위 Stable Diffusion v1-4를 이용하여 그림을 그려보자.
장점으로는 당연하게도 다른 이용자들을 기다릴 필요가 없고, 무료다. 컴퓨터 사양이 좋으면 좋을 수록 빠르게 이미지가 나온다.
바로 소스코드를 다운로드해서 파이썬 코드를 다뤄 이미지를 뽑을 수 있다. 하지만 WebUI Installer 를 만들어 준 고마운 분들이 있어서 저거 말고, 알아서 설치되는걸로 하자.
다운로드 및 WebUI로 전환(사이트로 운영)
https://git-scm.com/download/win
위 사이트가서 64비트 윈도우즈 셋업 눌러서 다운로드해라.
https://github.com/EmpireMediaScience/A1111-Web-UI-Installer/releases/tag/V1.6.0
여기서 Assets 보면 exe 파일이 있다. 다운로드 하면 된다. 오픈소스니까 불안하면 파일 보고 알아서 잘 판단하도록. 이건 (이미지)태스크매니저 및 인스톨러라 열면 알아서 깃빼고 알아서 다운로드해준다. 이제 기다리면 된다. 만약에 나중에 다시 보고 Waiting for file to be created ... 이러면, 뭔가 빠졌다는 이야기니까 콘솔창 제일 위로 올라가서 에러메세지 보고 뭐 빠졌는지, 설치해라. 보통 깃 빠졌거나, 파이썬 버전 충돌 이런거 ...
모델 설치하는데 2시간쯤 오래걸린다.
모델 다 설치하고 다시 프로그램 실행하면 좌측과 같이 뜰것이다. 영어를 잘 읽어보고 해당사항 있으면 체크하고 넘어가자.
본인은 자동 업데이트, 확장 프로그램 업데이트, 생성 이미지 삭제를 체크 했으며 그래픽 카드가 안좋아서 Low vRAM을 켰다. 또 xformers도 체크했다.(최악의 상황이면, medvram 끄고, 직접 --lowvram 이라고 쳐서 save 누르자)
만약 위 상태에서 Launch를 했는데 에러가 뜬다면, 일단 프로그램을 종료하고 https://aka.ms/vs/17/release/vc_redist.x64.exe 를 눌러서 C++ 관련 패키지도 설치를 해준다.
그러면 이제 Launch 버튼을 누르면 몇가지 WebUI를 포함한 몇가지 라이브러리와 프레임워크를 다운로드하고 알아서 로컬 서버를 열어준다. 끝이다.
vRAM 관련 문제 해결하기 (CUDA out of memory)
하다보면 cuda 램없다고 콘솔창이나 우측 하단에서 뭐라할 것이다. 원인은 그래픽카드 메모리(vRAM)이 작거나 터무니 없이 AI를 굴려서 그런 것인데, 해결하는 방법은 다음과 같다.
환경변수 편집으로 들어가서, 시스템 변수 편집에서변수 이름 : PYTORCH_CUDA_ALLOC_CONF내용 : garbage_collection_threshold:0.6,max_split_size_mb:128이렇게 하면 된다.또, WebUI 끄고 다시 런처 키면 밑에 Addtional Launch Options 보일텐데 --opt-split-attention 적고 Save 눌러서 추가시켜라. 이후 LAUNCH 하면 제대로 작동된다.
마지막으로
AI가 알아서 NSFW 컨텐츠로 의심되면 검은색 이미지만 출력할 것이다. 그저 피자, 치킨 이런 음식 사진을 뽑고 싶은데 검은 이미지만 나온다면 NSFW 컨텐츠도 허용하는 것으로 바꾸어야 한다. 현재 세팅으로 들어가도 못바꾼다. 따라서
https://raw.githubusercontent.com/JustinGuese/stable-diffusor-docker-text2image/master/txt2img.py 로 들어가서 내용을 모두 복사한 다음, 인스톨러를 설치한 폴더로 가라. stable-diffusion-webui -> stable-diffusion-stability-ai -> scripts -> txt2img.py 파일을 '연결프로그램' 메모장 선택해서 복사한걸 붙여넣기해라.
그러고 나서 실행하면 끝.
하지만 결국에는 사용하는 엔진에 따라 다르다. 진정히 원하는 것에 따라 학습시켜야 하는 것이 다르기에, 원하는 Ai를 찾는 것이 핵심이다. 보통 Civitai 에서 찾아 사용하는 것 같다.
'프로그래밍' 카테고리의 다른 글
SKT 공유기 WSL2에서 홈서버 구축 방법 (1) | 2024.10.14 |
---|---|
AUTOMATIC1111에 원하는 AI모델을 넣고 사용하자 (0) | 2023.02.07 |
lvalue와 rvalue, 그리고 참조자 (0) | 2022.07.23 |
역방향 이진트리 순회를 이용하여 생식세포 DNA를 뽑아내기 (0) | 2021.12.11 |
Kaggle 타이타닉 튜토리얼 한글 번역 30 Days Of ML, Day 1 (0) | 2021.08.03 |