[Stable Diffusion] 맥 m1에서 RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half' 에러 해결방법
RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'
야심 차게 돌렸더니 이딴 에러가 발생했다.
구글링을 해보니 MacOS를 업데이트했다, 파이썬 버전을 바꿨다.. 등 그런 건 도움도 되지 않았다.
여튼 1시간 만에 해결 방법을 찾아서 log를 남긴다.
1. 터미널을 켜서 Stable Diffusion 설치했던 경로로 이동
2. webui-macos-env.sh 파일 수정
vi webui-macos-env.sh
13번째 줄의 COMMANDLINE_ARGS 변수를 수정
원래의 COMMANDLINE_ARGS
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate"
이렇게 수정 (--no-half추가)
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --no-half --use-cpu interrogate"
수정하는 법을 모르는 사람들을 위한 친절한 가이드
1) 13번째 줄까지 커서를 옮기고 'i'를 누른다.
2) 위치에 가서 '--no-half' 텍스트만 넣고 ':' 를 누른다
3) 밑에 뜬 : 뒤에 'wq!'를 누른다.
3. 옵션을 넣어서 실행
./webui.sh --precision full --no-half
이렇게 하면 아주 잘 실행된다!
근데 생각보다 메모리를 엄청 잡아 먹더라..(거의 10기가)
메모리 16기가 아니었으면 큰일났을뻔!