Run Stable Diffusion on Apple Silicon
- A Mac with an M1 or M2 chip
- 16GB RAM or more. 8GB of RAM works, but it is extremely slow
- macOS 12.3 or higher
Set up Python
You need Python 3.10 to run Stable Diffusion. Run python -V to see what Python version you have installed:
$ python3 -V Python 3.10.6
If it's 3.10 or above, like here, you're good to go
Clone the repository and install the dependencies
Run this to clone the fork of Stable Diffusion:
git clone -b apple-silicon-mps-support https://github.com/CompVis/stable-diffusion.git cd stable-diffusion mkdir -p models/ldm/stable-diffusion-v1/
Then, set up a virtualenv to install the dependencies:
python3 -m pip install virtualenv python3 -m virtualenv venv
Activate the virtualenv:
(You'll need to run this command again any time you want to run Stable Diffusion.)
Then, install the dependencies:
pip install -r requirements.txt
Download the weights
Go to the Hugging Face repository, have a read and understand the license, then click "Access repository".
Download sd-v1-4.ckpt (~4 GB) on that page and save it as
models/ldm/stable-diffusion-v1/model.ckpt in the directory you created above.
⭐️ Enter your prompt:
python scripts/txt2img.py \ --prompt "an electronic device with wires and wires connected to it, inspired by Mike "Beeple" Winkelmann, trending on zbrush central, oscilloscope, dan mcpharlin : : ornate, retro vintage screens, replica model, russian lab experiment, studio orange" \ --n_samples 1 --n_iter 1 --plms
Your output's in
outputs/txt2img-samples/. That's it.
It took 6 mins to run on M1 Macbook Pro 16G:
If you're struggling to get this set up, feel free to DM me.