본문 바로가기
  • 나는 경제적 자유를 이루었다.
개발

m1 mac에서 stable diffusion2.1 설치 & 사용 (feat.에러수정)

by 조쉪 2023. 5. 8.
반응형

 

이번에는 stable diffusion모델 2.1로 위의 사진을 만들어보았습니다.

 

 

 

아래는 stable diffusion모델을 쉽게 UI상에서 만져볼수 있게 만들어놓은 깃헙 프로젝트인데요.

https://github.com/AUTOMATIC1111/stable-diffusion-webui

 

GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI

Stable Diffusion web UI. Contribute to AUTOMATIC1111/stable-diffusion-webui development by creating an account on GitHub.

github.com

 

미드저니와 dall-e는 무료버전은 이미지 생성에 제한이 많고 모든 크레딧사용시 유료로 사용해야하는 이유로 인해,

 

 

 

평생무료인 stable diffusion을 사용해보려고 합니다.

 

 

 

이것을 사용해서 맥북에서 로컬 서버를 구축하여 이미지생성을 해보겠습니다.

 

 

이 글에서는 stable diffusion설치에 앞서 필수확인 사항이있습니다.

 

 

먼저 아래의 글을 확인하고 Git 설치를 해주셔야합니다.

https://jostorys.tistory.com/143

 

m1 mac brew 설치 후, git설치 및 버전확인 방법

mac에 brew설치를 안해주셨다면, 지난 번에 맥에서 brew설치한 글을 확인해주시면 감사하겠습니다. https://jostorys.tistory.com/142

jostorys.tistory.com

 

Git설치가 완료되셨다면, 바로 진행해보겠습니다!

 

 

아래에 사이트에 들어가보면,

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon

 

 

 

맥북 m1용으로 설치하는 방법을 확인하실 수 있는데요.

 

 

그 내용은 아래와 같습니다.

  1. Homebrew가 설치되어 있지 않으면 https://brew.sh 의 지침에 따라 설치하십시오. 터미널 창을 열어 두고 "다음 단계" 아래의 지침에 따라 Homebrew를 PATH에 추가합니다.
  2. 새 터미널 창을 열고 실행brew install cmake protobuf rust python@3.10 git wget
  3. 다음을 실행하여 웹 UI 저장소 복제git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
  4. 사용하려는 Stable Diffusion 모델/체크포인트를 에 배치합니다 stable-diffusion-webui/models/Stable-diffusion. 없는 경우 아래의 안정적인 확산 모델 다운로드를 참조하십시오 .
  5. cd stable-diffusion-webui그런 다음 ./webui.sh웹 UI를 실행합니다. Python 가상 환경은 venv를 사용하여 생성 및 활성화되며 나머지 누락된 종속성은 자동으로 다운로드 및 설치됩니다.
  6. 나중에 웹 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분정도 걸린것 같습니다.

 

이번에는 로컬 서버구축하여 이미지생성까지 해보았습니다.

 

 

 

짧은글 읽어주셔서 감사합니다.

반응형

댓글