Open JohnTigue opened 1 year ago
Seems error 137 is out of memory related:
webui-docker-invoke-1 | >> Scanning Model: protogen_x3_4
webui-docker-invoke-1 | >> Model scanned ok!
webui-docker-invoke-1 | >> Loading protogen_x3_4 from /data/StableDiffusion/protogen_x3_4.ckpt
webui-docker-invoke-1 exited with code 137
webui-docker-invoke-1 | >> Loading protogen_x3_4 from /data/StableDiffusion/protogen_x3_4.ckpt
webui-docker-invoke-1 exited with code 137
[root@ip-172-31-6-103 stable-diffusion-webui-docker]#
Wait a sec. If 137 is out of memory, maybe that's different than the caching bug. Maybe we just need to config Docker to take ALL the memory of the machine, because that's all the machine will be doing: one task per container instance.
Thing already has 16GB of 24GB total:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
3b7d2b78cdf0 webui-docker-invoke-1 0.18% 4.074GiB / 15.48GiB 26.31% 1.07MB / 24MB 11.1GB / 0B 11
This might help with running out of memory and/or cache failures, Invoke 2.3.0 release notes:
Support for the XFormers Memory-Efficient Crossattention Package On CUDA (Nvidia) systems, version 2.3.0 supports the XFormers library. Once installed, thexformers package dramatically reduces the memory footprint of loaded Stable Diffusion models files and modestly increases image generation speed. xformers will be installed and activated automatically if you specify a CUDA system at install time.
The caveat with using xformers is that it introduces slightly non-deterministic behavior, and images generated using the same seed and other settings will be subtly different between invocations. Generally the changes are unnoticeable unless you rapidly shift back and forth between images, but to disable xformers and restore fully deterministic behavior, you may launch InvokeAI using the --no-xformers option. This is most conveniently done by opening the file invokeai/invokeai.init with a text editor, and adding the line --no-xformers at the bottom.
For both stand-alone and in-cluster mode, might as well break the config script into two:
We are constantly crashing the dockerized Invoke server while switching models. For example: