简介

什么是Stable Diffusion?

根据维基百科Stable Diffusion是一种扩散模型(DM)。扩散模型于2015年引入,其训练目标是移除训练图像中连续应用的高斯噪声,可以被视为一系列去噪自编码器。Stable Diffusion使用一种称为"潜在扩散模型"(LDM)的变体。

如何安装Stable Diffusion?

有2种方式可以体验Stable Diffusion

  • 在本地计算机上安装Stable Diffusion
  • 在Colab或其他在线服务上使用Stable Diffusion

在本文中,我们将重点介绍如何在本地计算机上安装Stable Diffusion


对于Apple Silicon Mac用户

有两种主要方式让你体验Stable Diffusion

方法1:终端中的常规方式

要求:

  • 搭载M1M1 ProM1 MaxM1 ULTRAM2芯片的Mac
  • 16GB RAM或更多
  • macOS 12.3或更高版本

步骤1

你需要在Mac上安装Python

输入python3 -V检查版本

1
2
python3 -V  
Python 3.10.0
1
2
which python3
/usr/bin/python3
1
2
pip3 --version
pip 22.X.X from XXX

如果你需要安装Python,最简单的方法是使用Homebrew。点击 https://brew.sh 了解更多。

使用Homebrew安装最新版本的Python

1
2
brew update
brew install python3
步骤2

克隆仓库并安装依赖。

如果你还没有安装git,可以通过以下命令安装:

1
2
brew update
brew install git
1
2
3
git clone -b apple-silicon-mps-support https://github.com/bfirsh/stable-diffusion.git
cd stable-diffusion
mkdir -p models/ldm/stable-diffusion-v1/
步骤3

安装虚拟环境来安装依赖:

1
2
python3 -m pip install virtualenv
python3 -m virtualenv venv

激活虚拟环境:

1
source venv/bin/activate

退出虚拟环境:

1
deactive

注意:所有步骤都应该在stable-diffusion-v1路径下进行

步骤4

再次安装必要的包

1
brew install Cmake rust protobuf
步骤5

安装列表中的依赖:

1
pip install -r requirements.txt
步骤6

下载权重文件

访问Hugging Face仓库,阅读并理解许可证,然后点击"Access repository"。

下载该页面上的sd-v1-4.ckpt(约4GB)并将其保存为你之前创建的目录中的models/ldm/stable-diffusion-v1/model.ckpt。

步骤7

开始使用

1
2
3
python scripts/txt2img.py \
--prompt "a red juicy apple floating in outer space, like a planet" \
--n_samples 1 --n_iter 1 --plms

注意:步骤6和步骤7来源于Replicate


方法2:图形界面

  • 名为Diffusionbee的GUI软件<—点击这里开始

    要求:

    • 搭载M1M1 ProM1 MaxM1 ULTRAM2芯片的Mac
    • 16GB RAM或更多
    • macOS 12.3或更高版本

对于Linux用户(Debian或Ubuntu)

方法

步骤1

安装Python、git、virtualenv

1
sudo apt install python3 git virtualenv
步骤2

克隆仓库并安装依赖。

1
2
git clone https://github.com/CompVis/stable-diffusion.git
cd stable-diffusion/

阅读并接受许可证

步骤3

进入虚拟环境

激活虚拟环境:

1
source venv/bin/activate

退出虚拟环境:

1
deactive
步骤4

下载权重文件

访问Hugging Face仓库,阅读并理解许可证,然后点击"Access repository"。

1
curl https://www.googleapis.com/storage/v1/b/aai-blog-files/o/sd-v1-4.ckpt?alt=media > sd-v1-4.ckpt
步骤5

开始使用

1
python scripts/txt2img.py --prompt "YOUR-PROMPT-HERE" --plms --ckpt sd-v1-4.ckpt --skip_grid --n_samples 1

参考资料

Run. Replicate. (n.d.). Retrieved October 11, 2022, from https://replicate.com/blog/run-stable-diffusion-on-m1-mac

Divamgupta. (n.d.). Divamgupta/diffusionbee-stable-diffusion-ui: Diffusion Bee is the easiest way to run stable diffusion locally on your M1 mac. comes with a one-click installer. no dependencies or technical knowledge needed. GitHub. Retrieved October 11, 2022, from https://github.com/divamgupta/diffusionbee-stable-diffusion-ui