LoRA 적용시 오류 - output with shape {param} doesn't match the broadcast shape {param}
Traceback (most recent call last): File "C:\stable-diffusion-webui\extensions\a1111-sd-webui-lycoris\..\..\extensions-builtin/Lora\lora.py", line 215, in load_loras lora = load_lora(name, lora_on_disk.filename) File "C:\stable-diffusion-webui\extensions\a1111-sd-webui-lycoris\..\..\extensions-builtin/Lora\lora.py", line 176, in load_lora module.weight.copy_(weight) RuntimeError: output with shape [4, 320, 1, 1] doesn't match the broadcast shape [4, 320, 3, 3]
이와같이 나오는 이유는 적용하려는 파일(.safetensor, .pt 파일)이 LoRA용 파일이 아니기 때문이다. 이런 파일은 LoRA 의 확장 규격을 사용한 거라, 현재 Stable Diffusion WebUI 에서 사용하려면 LyCORIS 사용해야한다. 파일이름, 파일 크기만 가지고는 LoRA 인지 LyCORIS 용인지 명확하게 구분이 안된다. (그래도 LyCORIS 용 파일은 파일 크기가 수십메라 정도로 작다)
프롬프트도 <lyco:***:1.0> 처럼 사용해야 한다. <lora:***:1.0> 이 아니다.
- 확장 LoRA 는 [*, *, 1, 1] 에서 [*, *, 3, 3] 과 같이 뒤의 2개 숫자가 1 에서 3으로 변경되었다. (이건 프로그래밍에서 4차원 배열 정도로 생각하면 된다) 이게 확장 LoRA 규격이다.
----
2023.05.26 추가
Stable Diffusion WebUI 를 최신 버전으로 패치하면 LoRA 로 적용 된다. (LyCORIS 쓸 필요 없다) 기존에는 [*, *, 3, 3] 형식의 LoRA 를 지원하지 않았다고 한다.