〇. 前言
现在正处于AI技术大爆发的时代,人工智能渐渐从科幻小说中遥远的未来渗透进现在各种行业的每个角落,而设计正是AI首当其冲的一个行业。目前,国内外大学已经开始认识到AI在设计领域巨大的潜力,并逐渐开设人工智能辅助设计的课程,而免费开源的Stable Diffusion正是许多大学设计课选用的工具。本人热衷于研究AI,在2022年十一月Stable Diffusion开源后成为第一批使用者之一,见证了Stable Diffusion从最基础的文生图到如今无比强大的平面设计工具的发展过程。在这个系列中笔者将从硬件需求,软件配置,功能介绍,使用方法,进阶玩法等方面介绍Stable Diffusion,让更多人能通过SD辅助完成精美的设计作品。
一. 硬件需求
Stable Diffusion是一款本地部署的Python AI程序,本地部署意味着使用者在使用过程中需要调用本地的GPU(图形处理单元)或者CPU(中央处理单元)进行工作。相比CPU,生成式AI更适合使用GPU运行,GPU具有更强大的并行处理能力,专用硬件加速(如NVDIA的Tensor Cores),深度学习框架如TensorFlow,Pytorch对GPU有更好的优化。因此,一张好的显卡是Stable Diffusion必不可少的配件。如果有大量的设计需求,比如需要训练大量大型模型的个人使用者,建议使用RTX4070以上的显卡,普通设计者也需要至少RTX2080以上显卡。
二. 软件配置
2.1 驱动安装(Windows)
显卡驱动必不可少,在终端使用nvidia-smi命令,如果没有返回说明驱动缺失,前往此处Nvidia官网下载
上述命令正常返回如下:
为了让Nvidia显卡发挥出AI能力,CUDA是另外一个必不可少的部分。CUDA(Compute Unified Device Architecture)是由NVIDIA公司开发的一种并行计算平台和编程模型,它允许开发者利用NVIDIA GPU的强大计算能力进行通用计算任务。上述的nvidia-smi命令的返回中的右上角CUDA Version显示了该版本N卡驱动支持的最高CUDA版本。从Nvidia官网下载cuda toolkit
安装完毕后检测是否安装:
nvcc -V
正常显示如上。
想要在AI推理或者训练时让N卡发挥出最极致的性能并且提高SD的效率,cuDNN库是一个非常推荐安装的库。cuDNN(CUDA Deep Neural Network library)是由NVIDIA开发的一个GPU加速的深度神经网络库。它专为深度学习的需求进行了优化,提供了高性能的基础神经网络操作,如卷积、池化、归一化和激活函数等。从Nvidia官网下载cuDNN,确保cudnn符合你的cuda版本。 下载解压完毕后,按照如下步骤操作:
- 打开解压缩的cuDNN文件夹。通常包括三个子文件夹:
bin
、include
和lib
. - 将解压后的
bin
文件夹中的所有文件复制到CUDA安装目录的bin
文件夹中,默认路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\bin
。 - 将
include
文件夹中的所有文件复制到CUDA安装目录的include
文件夹中,默认路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\include
。 - 将
lib
文件夹中的所有文件复制到CUDA安装目录的lib
文件夹中,默认路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\lib\x64
。
可用以下代码验证cudnn的安装(可选):
pip install tensorflow
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU'))) #程序将返回可用GPU数量,没有报错便安装成功
2.2 驱动安装(WSL/Linux)
Linux具有更高效的文件系统和内存管理,这意味着同配置下AI运行效率Linux上高于Windows,这就是为什么大厂AI大模型训练都是用的清一色的Linux的原因。这里介绍一下WSL(Windows Subsystem for Linux)中的ArchLinux的驱动配置。当然,这是一个可选功能,如果需要提高效率推荐使用。要想获得真正最高效的AI运行环境,建议使用真正的Linux物理机系统,这里就不介绍Linux上的配置方法了(都会用Linux了这些肯定会)
要启用WSL2,需要打开一些Windows的功能。任务栏搜索框搜索启用或关闭Windows功能
接着勾选圈出的部分,重启后就可以使用基于Hyper-V虚拟机的WSL了。
这里建议去微软商店下载ArchLinux,这是笔者认为在依赖配置等方面最友善的WSL。安装完之后,执行以下命令:
sudo pacman -Syu #更新Linux系统
sudo pacman -Syy
sudo pacman -S cuda cudnn #从官方库安装cuda和cudnn
sudo pacman -S nano #安装文本编辑器
因为WSL和Windows物理机共享N卡驱动,因此在WSL中不需要再次安装N卡驱动。
配置CUDA环境变量:
ls /opt | grep cuda #查找安装位置
nano ~/.bashrc
#或者
nano ~/.zshrc
在文件末尾添加以下内容:
export PATH=/opt/cuda/bin:$PATH
export LD_LIBRARY_PATH=/opt/cuda/lib64:$LD_LIBRARY_PATH #假设路径是/opt/cuda
使更改生效:
source ~/.bashrc
#或者
source ~/.zshrc
测试cuda是否加入环境变量:
nvcc -V #正常显示如下
接下来配置cudnn。查找cudnn安装位置:
pacman -Ql cudnn | grep -E 'include|lib64'
编辑配置文件(如bashrc):
nano ~/.bashrc
添加以下内容:
export PATH=/opt/cuda/bin:$PATH
export LD_LIBRARY_PATH=/opt/cuda/lib64:/usr/lib:$LD_LIBRARY_PATH
source ~/.bashrc #保存并生效
测试是否生效 (python):
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU'))) #程序将返回可用GPU数量,没有报错便安装成功
2.3 Stable Diffusion配置(秋叶GUI)
B站上秋叶大佬制作的整合包是目前最适合小白的,首先通过网盘链接下载:
网盘:https://pan.quark.cn/s/2c832199b09b
解压密码:bilibili@秋葉aaaki
安装完成后,可见如下界面:
点击一键启动就可以开始使用。在模型管理中可以下载当下流行的模型,版本管理可以更新SD和插件。
2.4 Stable Diffusion配置(Conda虚拟环境)
如果你想体验高级玩法或想在Linux等其他系统上运行Stable Diffusion并获得更高的可扩展性,建议使用传统的安装方法。首先,需要安装配置conda虚拟环境
Conda的安装有两个选项,Anaconda和Miniconda。这两个版本主要的区别是Anaconda预装了大量的数据科学和机器学习工具,比如NumPy, Pandas, SciPy, Matplotlib, Jupyter, TensorFlow,但是miniconda只有python和conda包管理器。但是如果只是用来AIGC的话两个都可以取。
Anaconda官网:https://www.anaconda.com/download
Miniconda官网:https://docs.conda.io/projects/miniconda/en/latest/
如果使用Windows:
打开系统属性
- 右键单击 "此电脑" 或 "计算机",然后选择 "属性"。
- 点击左侧的 "高级系统设置"。
- 在 "系统属性" 窗口中,点击 "环境变量"。
编辑用户变量
- 在 "环境变量" 窗口中,找到 "用户变量" 部分。
- 找到名为
Path
的变量,选中并点击 "编辑"。如果没有该变量,可以点击 "新建" 创建一个。
添加 Anaconda 路径
- 在 "编辑环境变量" 窗口中,点击 "新建"。
添加 Anaconda 的 script和 Library/bin路径
路径,假设 Anaconda 安装在
C:\Users\YourUsername\anaconda3
,则路径分别是:
C:\Users\YourUsername\anaconda3 C:\Users\YourUsername\anaconda3\Scripts C:\Users\YourUsername\anaconda3\Library\bin
保存更改
- 点击 "确定" 保存更改并关闭所有窗口。
验证安装
- 打开新的命令提示符窗口(确保是新打开的窗口,以便加载新的环境变量)。
运行以下命令验证 Anaconda 是否正确添加到 PATH:
conda --version
- 如果返回 Anaconda 的版本号,则说明设置成功。
如果使用Linux
打开终端
找到 Anaconda 的安装路径 通常,Anaconda 会安装在用户主目录下的 anaconda3
或 miniconda3
文件夹中。如果你不确定,可以用以下命令查找:
ls ~
编辑 .bashrc
或 .zshrc
文件 使用文本编辑器打开 .bashrc
或 .zshrc
文件。这里以 .bashrc
为例:
nano ~/.bashrc
添加 Anaconda 路径到 PATH 变量 在文件末尾添加以下行(假设 Anaconda 安装在 ~/anaconda3
):
export PATH="~/anaconda3/bin:$PATH"
保存并退出编辑器 如果使用 nano
,按 Ctrl + O
保存,按 Ctrl + X
退出。
更新 shell 配置 运行以下命令以应用更改:
source ~/.bashrc
验证安装 通过以下命令验证 Anaconda 是否正确添加到 PATH:
conda --version
如果返回 Anaconda 的版本号,则说明设置成功。
安装完conda后,创建一个conda环境
conda create -n sd python=3.11.9 # sd的位置可以是任意名字
激活虚拟环境:
conda activate sd
用conda包管理器安装pytorch
conda install pytorch torchvision torchaudio pytorch-cuda=12.3 -c pytorch -c nvidia
克隆Stable Diffusion项目:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
启动SD webui:
python launch.py --xformers --no-half-vae #接下来会自动安装依赖
手动更新SD:
git pull
依赖安装完毕,一切正常的话,你将看到这样的界面:
——————————————未完待续——————————————