【AI绘画】A卡RX580用户在Ubuntu下配置Stable-Diffusion实战(小白纯享版)


前言:
现在是11月16日凌晨3点左右,我作为完全零基础的小白已经折腾A卡的环境部署整整半个月了!不舍昼夜,只为了一张张好看的老婆...(不是)
今夜,我怀着激动的心情,写下完整的部署教程,以表示对各位大佬的感谢,同时对过去半个月昼夜交替所浪费的时间和精力表示缅怀,再也不会折腾这玩意的部署了!
如果你也是A卡,如果你也恰好是RX570/RX580,
如果你也是小白,无法解决一个个命令执行后的报错...
如果你也渴望魔法,想成为强大的魔导术士...
那么就跟随我的指引吧!保证不会踩坑!(半个月的血泪史...筋疲力尽...)

显卡要求:
本教程理论上支持AMD GFX803架构的显卡,但GFX803的显卡有哪些,全网都搜不到答案。
目前已验证支持的有:RX570、RX580
完整步骤
1、安装Ubuntu
1.1. A卡用户目前只能在Linux下配置使用Rocm加速AI绘画,Windows下只能使用CPU加速。
建议先在Windows下体验AI绘画:【AI绘画】极限简化,解压即用!A/I卡可用。NovelAI贴吧一键部署版使用教程
1.2. 若想高速出图,就需要在Linux下部署:
教程使用的是Ubuntu20.04.5,不能用其他系统哦!
iso镜像地址:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04.5/ubuntu-20.04.5-desktop-amd64.iso
如果你曾安装高版本Ubuntu, 请务必清理干净Ubuntu, 然后重新安装。可参考:https://developer.aliyun.com/article/889006
如果你不会安装双系统,可参考:安装ubuntu&Windows双系统保姆级教程
如果你有过U盘安装系统的经验,我建议使用ventoy来安装(真的很好用,我这几天用它反复安装了无数次系统)
简单来说,Ventoy是一个制作可启动U盘的开源工具。
有了Ventoy你就无需反复地格式化U盘,你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件直接拷贝到U盘里面就可以启动了,无需其他操作。--Ventoy官网说明
2.在Ubuntu下配置A卡的Rocm5.3
2.1. 配置前请务必保证系统全新纯净-以免出现各种我们小白解决不了的冲突/依赖/Bug!
2.2. 然后请严谨参考!:[stable-diffusion] RX580用户看过来,教你开启ROCm,加速Ai出图
严谨执行此专栏的步骤到此句:
至此,所有的步骤均已完成。
然后在终端执行此句下图中的命令:
python3
import torch
torch.cuda.is_available
若返回结果为true,则表示rocm5.3已正确配置;
若返回结果为false,则表示配置失败!建议重复步骤/重装系统
3.配置Stable-Diffusion
在rocm正确配置后,即可开始Stable-Diffusion的配置。
参考此文章:https://blog.csdn.net/qq_44948500/article/details/127346390
由于我们已经安装好了AMD GPU,只需执行此文章中的部分步骤--不要反复下载!
(以下步骤选自此文章-原作者XiaozhouTAT)
3.1. 将安装的python切换为默认版本
#先查看本地安装了多少个python
ls /usr/bin/python*
#正常来讲会出现一下内容
#/usr/bin/python /usr/bin/python3.10-config /usr/bin/python3-futurize
#/usr/bin/python3 /usr/bin/python3.8 /usr/bin/python3-pasteurize
#/usr/bin/python3.10 /usr/bin/python3-config
#我们要用的是python3.10的,所以
sudo rm /usr/bin/python #删除原来的链接
sudo ln -s /usr/bin/python3.10 /usr/bin/python #创建新的链接
python --version #测试
本教程使用的是Ubuntu20.04,且python版本为3.8,
因此请将上图代码:
sudo ln -s /usr/bin/python3.10 /usr/bin/python
改为:
sudo ln -s /usr/bin/python3.8 /usr/bin/python
3.2.下载Stable-Diffusion
sudo apt install git
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
#一般会提示pip版本太低,更新一下
python -m pip install --upgrade pip wheel
3.3.添加模型
在第1步安装ubuntu时,我曾建议下载一个window下的懒人包体验AI绘画:
如果你下载了,即可找到stable-diffusion-webui-master——models——Stable-diffusion——model.cpkt,将此文件复制到ubuntu的Stable-Diffusion-Webui——models——Stable-diffusion文件夹中即可;
如果未下载,可上网检索寻找其他模型文件哦
3.4.避免提示CUDA错误
为了避免启动时出现torch is not able to use gpu,请在Stable-diffusion的文件夹下找到launch.py并手动修改:
#打开launch.py找到这句代码
commandline_args = os.environ.get('COMMANDLINE_ARGS', "")
#改成
commandline_args = os.environ.get('COMMANDLINE_ARGS', "--skip-torch-cuda-test")
记得保存
3.5.修改代理以免下载插件超时
请参考【NovelAI】【完整流程】AMD显卡运行AI绘画详细教程
此视频12:00-14:30修改代理的说明,修改完成后保存关闭launch.py
3.6.下载插件并准备启动
在安装目录右键打开终端执行:
HSA_OVERRIDE_GFX_VERSION=10.3.0 python launch.py --precision full --no-half
等待其安装额外的插件结束,然后报错即可。
一般来讲,此命令安装结束后即可启动webui,但此命令并不适合GFX803,
因为HSA_OVERRIDE_GFX_VERSION=10.3.0 该环境变量是将其他架构的显卡伪装为GFX1030,参考https://www.zhihu.com/question/371965193
我们在第2步已成功配置rocm,因此只需要按照
[stable-diffusion] RX580用户看过来,教你开启ROCm,加速Ai出图
该教程末尾所说,在安装目录执行:
python3 webui.py --disable-safe-unpickle
最终执行结果如下:

点击local URL: http://127.0.0.1:7860, 即可打开Web UI绘图啦!
4.实操演示
首先点击打开http://127.0.0.1:7860,进入后选择img2img;
然后找一张自己喜欢的图,在文本框中输入几个咒语:
kawaii,a girl,light blush,cat_ears,heterochromia,masterpiece,comic,;
最后点击右侧的Generate就可以啦
效果如下图

5. 使用感受
在cpu模式下(R5-2600),512*512,20steps,平均15s/step;
在gpu模式下(RX570 4G),512*512,20steps,平均1.5s/step;
因此还是非常舒服的(≧0≦)
但多个tag、提高步数或者分辨率、图生图,经常爆显存,很难受——求大佬救救 (@_@;)
『2023.04.10更新』
不建议不熟悉git的同学使用git pull更新webui
最好是先把extension和model移出来重新git clone项目
启动时会下载很多额外依赖-免不了遇到各种莫名其妙的网络问题下载不下来
比如taming-transformers 无论怎么搞都无法使用启动命令自动拉去下来
只能在repositories文件夹手动git clone拉取项目(真的很想吐槽国内的网络啊,npm,pip也是,浪费时间和精力……让人头痛不已😩)

结语
对文中所提到的大佬再次表示感谢!
这几乎是我第一次写除作文以外的文章,如果有任何问题请尽情留言指出哦!
如果看到文章的你也能如愿配置成功或者有什么疑问,都可以留言哈,我会尽力帮忙(虽然我也是小白...)