1、环境安装
首先,我使用的是ubuntu20.04.05图形化桌面,官方镜像地址,也顺便做下备份:ubuntu官方旧版本镜像下载地址,该版本的图形化镜像地址ubuntu20.04.5图形化,安装就不用我多说了,记得断网安装就行
然后常规更新下环境
sudo apt-get update
sudo apt-get upgrade
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
不过,就算这样简单的命令都会有报错,也是服了,没报错就忽略,好像是中国镜像源的问题,报错先暂时忽略,安装aptitude等会来解决
sudo apt install aptitude
安装完后,先进行下一步,安装conda,当然你要是你python版本大于3.10.6,可以忽略,自己编译python新版升级也行,不过有点麻烦,所以我选择安装conda,这是官方教程,我做个搬运
至于为什么要用conda创建虚拟环境,如果你只用来跑这一个的话,不用虚拟环境也行,python3.8也行,会不会报错就不知道了,按着官方推荐的>=3.10.6来最好
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
没报错的话执行下面的初始化
~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh
然后关掉终端重新打开(注意:命令行前面有(base)的才算成功安装了conda比如(base)root@xxxx),输入
python --version
版本是3.11以上就没问题
然后创建给sd用的环境,当然,你也可以忽略,直接在默认环境安装,也可以后面用python的venv,看个人选择了
conda create --name sdw python=3.10
安装rocm
安装rocm,按照网上的教程来会报错,真的很烦,所以换用了官方教程,我就做个搬运,取消了注释,直接复制粘贴就行
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | \
gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
sudo tee /etc/apt/sources.list.d/amdgpu.list <<'EOF'
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/latest/ubuntu focal main
EOF
sudo tee /etc/apt/sources.list.d/rocm.list <<'EOF'
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/debian focal main
EOF
sudo apt update
sudo apt install rocm-hip-libraries
好了,现在应该就有报错了,什么安装被忽略,但是冲突所以没有安装之类的,没有就忽略,有就执行下面的命令
sudo aptitude install rocm-hip-libraries amdgpu-dkms
然后会询问解决方案,这个我第一个选择否,第二个选择yes然后安装成功的,可以自己试试,反正最终安装成功就行
安装完成后执行以下命令,版本记得改!!
sudo usermod -a -G video $LOGNAME
sudo usermod -a -G render $LOGNAME
echo "export PATH=$PATH:/opt/rocm-5.7.0/bin:/opt/rocm-5.7.0/opencl/bin" >> ~/.bashrc
执行完成后就可以重启了
重启完成后执行rocminfo
和rcom-smi
就应该有相应的内容了
安装pytorch(可以暂时跳过)
安装前可以先执行下面命令安装一些依赖
sudo apt install git python3 python3-pip python3-venv rocm-libs miopen-hip rccl libtinfo5 libopenmpi3 libopenblas-dev
截止到写文章的时候,我的rocm版本是5.7 ,所以选择的预览版的pytorch以支持5.7,看自己情况安装吧,官网地址第一行选择稳定版还是预览版,然后Linux,rocm,这些不多说了,只要你不呆,选好复制命令执行即可,当然也可以先不执行,后面有机会执行的,先复制好命令先.
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm5.7
2、安装stable diffusion webui
首先先找个目录,我的建议是直接在桌面新建,快捷省事
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
cd stable-diffusion-webui
echo 'export PYTORCH_CUDA_ALLOC_CONF="garbage_collection_threshold:0.9,max_split_size_mb:32"' >> ~/.bashrc
sudo source ~/.bashrc
如果没有其他项目安装使用,可以直接用默认环境,跳过下面的代码,编辑webui-user.sh
执行conda active sdw
激活虚拟环境
如果不想用conda,也可以执行下面的命令进入虚拟环境
python -m venv venv
source ./venv/bin/activate
激活后修改启动命令
编辑webui-user.sh,输入下面内容,关于启动项,由于我是6800xt,所以没有–no-half之类的,可以上网搜下适合自己显卡的启动参数
export TORCH_COMMAND="pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm5.7"
#这行是pytorch的安装命令,根据自己的版本修改
COMMANDLINE ARGS="--skip-torch-cuda-test --opt-split-attention --opt-sub-guad-attention --no-gradio-queue --sub-quad-q-chunk-size 256 --sub-quad-kv-chunk-size 256 --sub-quad-chunk-threshold 70 --disable-nan-check --disable-safe-unpickle --always-batch-cond-uncond"
#这个是启动参数
然后输入./webui.sh
启动,就会自动安装相关依赖了,包括pytorch,所以之前不装其实也行,但也不会重复安装
最后没报错的话,就会自动打开浏览器了,就可以开始使用了
顺带,参考的文章https://devpress.csdn.net/suzhou/64804e88ade290484cb2ed09.html#devmenu3,谢谢!