이번에는 stable diffusion모델 2.1로 위의 사진을 만들어보았습니다.
아래는 stable diffusion모델을 쉽게 UI상에서 만져볼수 있게 만들어놓은 깃헙 프로젝트인데요.
https://github.com/AUTOMATIC1111/stable-diffusion-webui
미드저니와 dall-e는 무료버전은 이미지 생성에 제한이 많고 모든 크레딧사용시 유료로 사용해야하는 이유로 인해,
평생무료인 stable diffusion을 사용해보려고 합니다.
이것을 사용해서 맥북에서 로컬 서버를 구축하여 이미지생성을 해보겠습니다.
이 글에서는 stable diffusion설치에 앞서 필수확인 사항이있습니다.
먼저 아래의 글을 확인하고 Git 설치를 해주셔야합니다.
https://jostorys.tistory.com/143
Git설치가 완료되셨다면, 바로 진행해보겠습니다!
아래에 사이트에 들어가보면,
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon
맥북 m1용으로 설치하는 방법을 확인하실 수 있는데요.
그 내용은 아래와 같습니다.
- Homebrew가 설치되어 있지 않으면 https://brew.sh 의 지침에 따라 설치하십시오. 터미널 창을 열어 두고 "다음 단계" 아래의 지침에 따라 Homebrew를 PATH에 추가합니다.
- 새 터미널 창을 열고 실행brew install cmake protobuf rust python@3.10 git wget
- 다음을 실행하여 웹 UI 저장소 복제git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
- 사용하려는 Stable Diffusion 모델/체크포인트를 에 배치합니다 stable-diffusion-webui/models/Stable-diffusion. 없는 경우 아래의 안정적인 확산 모델 다운로드를 참조하십시오 .
- cd stable-diffusion-webui그런 다음 ./webui.sh웹 UI를 실행합니다. Python 가상 환경은 venv를 사용하여 생성 및 활성화되며 나머지 누락된 종속성은 자동으로 다운로드 및 설치됩니다.
- 나중에 웹 UI 프로세스를 다시 시작하려면 ./webui.sh다시 실행하십시오. 웹 UI를 자동으로 업데이트하지 않습니다. 업데이트하려면 git pull실행하기 전에 실행하십시오 ./webui.sh.
위의 방법을 그대로 하시면 문제가 없을거라고 생각되지만 조금더 설명드리겠습니다.
먼저, 제 글을 보셨다면 brew와 git설치가 되어있기에 1번은 스킵하셔도 됩니다.
그 다음으로 2번과 같이 터미널에서 아래의 명령어를 적어주어 설치를 합니다.
$brew install cmake protobuf rust python@3.10 git wget
그 다음으로 3번, 아래와 같이 stable difusion webui를 클론해줍니다.
$git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
클론이 완료 되었다면,
아래의 공식사이트에서 stable diffusion 2.1모델을 다운로드 합니다.
https://huggingface.co/stabilityai/stable-diffusion-2-1/blob/main/v2-1_768-ema-pruned.ckpt
위의 그림에 나온 download버튼을 눌러주시면 됩니다.
다운로드 가 완료 되셨다면,
아래의 사이트에서 파란글씨의 here글자에 option키+클릭을 해주시면 구성파일을 다운로드 합니다.
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon
사진의 here라는부분입니다.
두가지 파일을 다운로드 하셨으면,
3번에서 클론한 stable difusion webui폴더를 들어가셔서 "stable-diffusion-webui/models/[여기] " 에 stable difussion모델(.ckpt)과 구성파일(.yaml)을 넣어주시면 됩니다.
그리고 이름을 아래와 같이 모델파일과 구성파일의 이름을 통일 시켜주어야합니다.
v2-1_768-ema-pruned.ckpt
v2-1_768-ema-pruned.yaml
이로써 4번이 완료되었는데요.
이제 마지막입니다.아래의 명령어로 stable-diffusion-webui들어가셔서,
$ cd stable-diffusion-webui
쉘스크립트를 실행시켜주신후, 모든 설치가 완료된후에,
$ ./webui.sh
모델이 로드되었다고 나오는데요,
아래의 URL이 돌아가는지 브라우저에서 확인해보겠습니다.
http://127.0.0.1:7860/
성공했습니다 너무 잘나오는데요!
프롬프트를 간단히 쳐보았더니 터미널 창에서 아래와 같은 에러가 나왔습니다.
RuntimeError: "LayerNormKernelImpl" not implemented for 'Half'
반정밀도 부동 소수점 수 연산을 사용할 수 없기때문에 생기는 에러같은데요,
아래의 파일을 같이 수정해보겠습니다.
stable-diffusion-webui/webui-macos-env.sh
<수정 전>
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate
위의 부분에 빨간색 글자의 명령어를 추가했습니다.
<수정 후>
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate --no-half --precision full"
파일 저장을 하고 다시 실행시켜줍니다.
$ ./webui.sh
간단히 banana, fancy 라는 프롬프트를 입력후 Generate버튼을 눌렀더니 문제없이 생성되었습니다.
빠르진 않았지만 약3분정도 걸린것 같습니다.
이번에는 로컬 서버구축하여 이미지생성까지 해보았습니다.
짧은글 읽어주셔서 감사합니다.
'개발' 카테고리의 다른 글
ChatGPT로 무료로 이미지를 생성하기 프롬프트 제공 (0) | 2023.07.19 |
---|---|
JS자바스크립트로 AI처럼 글 출력하기 (0) | 2023.07.04 |
m1 mac brew 설치 후, git설치 및 버전확인 방법 (0) | 2023.05.08 |
m1 mac brew 설치 및 사용 (0) | 2023.05.08 |
Javascript 클릭시or 마우스 움직일때 X, Y좌표 가져오기 (0) | 2023.04.19 |
댓글