〇. 前言

从去年底AIGC热度爆发开始已经用了快一年的Stable Diffusion。从一开始的每天跑图到深夜到现在闲来没事测试一下显卡性能,竟然一直没有写一个像样的教程(以前也写了一个,但是比较简陋)。由于Linux的多线程优化比Windows要好不少,因此AI训练的速度自然Linux占优(虽然Nvidia显卡不能跑满功耗。。。),于是Linux便是我AIGC的主力系统。

这里晒一下本人跑图配置:

拯救者Y9000P,i9-13900HX,32GB+2TB,Nvidia RTX4090 Laptop,Arch Linux

一.环境配置

不管是Windows还是Linux甚至MacOS(别试),Stable Diffusion的运行都需要用到Pytorch套件和CUDA套件。

由于CUDA的安装不同Linux分支推荐的安装方案不同,下面我将介绍三种主流Linux分支的安装步骤。

CUDA安装

Arch Linux

Arch Linux的安装比较简单,因为Arch的包管理器pacman里已经包含了CUDA和cuDNN。

sudo pacman -S cuda cudnn

Pacman下载可能会存在一定的问题,因为这里面的CUDA是最新版的,有可能会对Stable Diffusion的运行产生影响(目前没有遇到过)。

Debian

目前Debian系的apt包管理器没有包含CUDA和cuDNN,因此需要在官网下载。

进入页面,建议选择11.8版本。

image-20231205002506161

或者直接运行以下命令:

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-debian11-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo dpkg -i cuda-repo-debian11-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo cp /var/cuda-repo-debian11-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo add-apt-repository contrib
sudo apt-get update
sudo apt-get -y install cuda

如果是Ubuntu:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

如果是WSL-Ubuntu:

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

Fedora

Fedora分支的系统与Debian类似:

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-fedora35-11-8-local-11.8.0_520.61.05-1.x86_64.rpm
sudo rpm -i cuda-repo-fedora35-11-8-local-11.8.0_520.61.05-1.x86_64.rpm
sudo dnf clean all
sudo dnf -y module install nvidia-driver:latest-dkms
sudo dnf -y install cuda
#cuda11.8官网目前仅支持到Fedora35,最新的cuda12.3仅支持到Fedora37,然而Fedora39已经出了(

如果是CentOS:

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-rhel7-11-8-local-11.8.0_520.61.05-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel7-11-8-local-11.8.0_520.61.05-1.x86_64.rpm
sudo yum clean all
sudo yum -y install nvidia-driver-latest-dkms
sudo yum -y install cuda

Fedora和Debian的cuDNN都需要从官网下载。


Pytorch安装

接下来需要安装Pytorch套件。如果你不使用conda,在命令行输入:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

这里建议用户使用conda虚拟环境运行整个Stable Diffusion,尤其是原生Fedora和原生Arch Linux的用户,因为这两个系统Python过于先进,Stable Diffusion许多插件和功能不能正常使用。

安装Conda+Pytorch

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/

安装好conda之后,使用conda包管理器安装Pytorch:

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

Conda安装后可能出现的问题

刚安装完conda可能会发现终端输入“conda”红色高亮报错,这说明conda没有添加进系统环境变量。

nano /etc/profile #打开环境变量配置文件

在文末添加:

export PATH=/home/anaconda3/bin:$PATH 

另外,conda安装后默认打开终端自动启用base虚拟环境,很多人都不喜欢。关闭方法:

conda config --set auto_activate_base false

Conda虚拟环境的创建,启用与关闭

conda create --name miku python=3.10.11 #创建一个名为miku,Python版本为3.10.11的虚拟环境
conda activate miku #激活虚拟环境miku
conda deactivate #退出虚拟环境

至此,系统环境配置告一段落。

二. Stable Diffusion的安装与配置

(Stable-Diffusion-Webui git下载需要准备好科学上网工具~)

克隆项目:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

克隆完毕后,运行以下命令:

python launch.py --xformers --no-half-vae #接下来会自动安装依赖

等到命令行中出现”http://127.0.0.1:7860",ctrl+click就能进入使用了。

如果你的电脑是双系统,建议在Windows里安装秋叶大佬制作的整合包。整合包下载地址:https://pan.baidu.com/s/1MjO3CpsIvTQIDXplhE0-OA?pwd=aaki

在整合包中有大佬制作的启动器,启动器内可以进行整体更新和插件更新。

如果仅使用命令行,命令行输入:

git pull

常见的问题

使用Stable Diffusion不出问题是不可能的。首先可能出现的问题是报错显示Pytorch无法使用n卡。这说明Pytorch版本下载成了CPU版。这种问题一般出现在重新下载安装xformers时。遇到了这个问题可以将torch删除重新下载,或者直接用Stable Diffusion的requirements.txt下载。

如果看到以下报错:

AttributeError: partially initialized module 'modules.sysinfo' has no attribute 'format_exception' (most likely due to a circular import)

首先运行下面的代码:

python -m pip install bitsandbytes --prefer-binary --extra-index-url=https://jllllll.github.io/bitsandbytes-windows-webui

接着,重新下载tagger:

git clone https://github.com/picobyte/stable-diffusion-webui-wd14-tagger.git extensions/tagger

如果在运行时出现要求A100以上显卡的提示,要在启动命令后面添加--no-half-vae。

最后修改:2023 年 12 月 05 日
支持一下吧~