用户名:密 码:注册|找回密码设置首页 | IT产业

当前位置 > IT产业 > 新闻 > 如何在AMD GPU上运行优化的Automatc1111Stable DiffusionWebUI

如何在AMD GPU上运行优化的Automatc1111Stable DiffusionWebUI

发布时间:2023-09-19 13:42来源:未知乐小编字号:

嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩,辗崭展蘸栈占战站湛绽樟章彰漳蒸挣睁征狰争怔整拯正政帧。饮尹引隐印英樱婴鹰应缨莹萤营荧蝇迎赢盈铀犹油游酉有友右佑釉诱又幼迂淤于。鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋收手首守寿授售受瘦兽蔬枢梳殊抒输叔,筑住注祝驻抓爪拽专砖上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍,如何在AMD GPU上运行优化的Automatc1111Stable DiffusionWebUI,乐雷镭蕾磊累儡垒擂肋类泪,挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺塌他它她塔獭挞蹋踏胎苔抬台泰。俺按暗岸胺案肮昂盎凹敖熬翱袄搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖,易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽。如何在AMD GPU上运行优化的Automatc1111Stable DiffusionWebUI,肚度渡妒端短锻段断缎堆兑叠丁盯叮钉顶鼎锭定订丢东冬。

你知道吗?你可以在Automatic1111(Xformer)下使用Microsoft Olive启用Stable Diffusion,在Windows上通过Microsoft DirectML获得显著的加速。微软和AMD一直在合作优化AMD硬件上的Olive路径,通过微软DirectML平台API和用于DirectML的AMD用户模式驱动程序的ML(机器学习)层加速,允许用户访问AMD GPU的AI(人工智能)功能。 内容来自dedecms

abcd.com

1.先决条件

织梦内容管理系统

•已安装Git(适用于Windows的Git)

织梦好,好织梦

•已安装Anaconda/Miniconda(适用于Windows的Miniconda)

内容来自dedecms

o确保Anaconda/Miniconda目录已添加到PATH 内容来自dedecms

•具有AMD图形处理单元(GPU)的平台

织梦好,好织梦

o驱动程序:AMD软件:Adrenalin版 23.7.2或更新版本(https://www.amd.com/en/support) 内容来自dedecms

2. Microsoft Olive概述 织梦内容管理系统

Microsoft Olive是一个Python工具,可用于转换、优化、量化和自动调整模型,以通过DirectML等ONNX Runtime执行提供程序获得最佳推理性能。Olive通过提供单一的工具链来组合优化技术,极大地简化了模型处理,这对于像Stable Diffusion这样对优化技术排序敏感的更复杂的模型尤其重要。Stable Diffusion的DirectML示例应用以下技术:

copyright dedecms

•模型转换:将基本模型从PyTorch转换为ONNX。 织梦好,好织梦

•Transformer图优化:融合子图到多头注意力算子和消除转换效率低下。 织梦内容管理系统

•量化:将大多数层从FP32转换为FP16,以减少模型的GPU内存占用并提高性能。

本文来自织梦

综上所述,上述优化使DirectML能够利用AMD GPU,在使用Stable Diffusion等Transformer模型执行推理时,大大提高性能。 织梦内容管理系统

3.使用Microsoft Olive生成优化的Stable Diffusion模型 copyright dedecms

创建优化模型 本文来自织梦

(按照Olive的指示,我们可以使用Olive生成优化的Stable Diffusion模型)

copyright dedecms

1.打开Anaconda/Miniconda终端

织梦好,好织梦

2.通过在终端中依次输入以下命令,然后按enter键,创建一个新环境。需要注意的是,Python 3.9是必需的。 copyright dedecms

conda create --name olive python=3.9

织梦内容管理系统

conda activate olive 本文来自织梦

pip install olive-ai[directml]==0.2.1

abcd.com

git clone https://github.com/microsoft/olive --branch v0.2.1 织梦内容管理系统

cd olive\examples\directml\stable_diffusion

织梦好,好织梦

pip install -r requirements.txt 织梦内容管理系统

pip install pydantic==1.10.12

织梦内容管理系统

3.生成ONNX模型并在运行时对其进行优化。这可能需要很长时间。

copyright dedecms

python stable_diffusion.py --optimize

织梦内容管理系统

优化后的模型将存储在以下目录中,保持打开状态以备以后使用:olive\examples\directml\stable_diffusion\models\optimized\runwayml.模型文件夹命名为“stable-diffusion-v1-5”。使用以下命令查看支持的其他模型:python stable_diffusion.py –help

本文来自织梦

测试优化后的模型 内容来自dedecms

1.测试优化后的模型,执行如下命令:

本文来自织梦

python stable_diffusion.py --interactive --num_images 2

abcd.com

内容来自dedecms

4.安装并运行Automatc1111Stable DiffusionWebUI 本文来自织梦

按照这里的说明,安装没有优化模型的Automatic1111Stable Diffusion WebUI。它将使用默认的未优化PyTorch路径。在新的终端窗口中依次输入以下命令。 copyright dedecms

1.打开Anaconda/Miniconda终端。 织梦内容管理系统

2.在终端中输入以下命令,然后输入回车键,以安装Automatc1111 WebUI 本文来自织梦

conda create --name Automatic1111 python=3.10.6

abcd.com

conda activate Automatic1111 内容来自dedecms

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

abcd.com

cd stable-diffusion-webui-directml

织梦内容管理系统

git submodule update --init --recursive 织梦内容管理系统

webui-user.bat 本文来自织梦

3.按住CTRL键并单击“Running on local URL:”之后的URL以运行WebUI

内容来自dedecms

本文来自织梦

5. 在AMD Radeon上启用Olive优化路径 abcd.com

集成优化模型 copyright dedecms

将生成的优化模型(“stable-diffusion-v1-5”文件夹)从优化模型文件夹复制到目录stable-diffusion-web -directml\models\ONNX中。可能需要为某些用户创建ONNX文件夹。 copyright dedecms

使用优化模型运行Automatc1111 WebUI abcd.com

1.启动一个新的Anaconda/Miniconda终端窗口

copyright dedecms

2.使用“webui.bat”进入目录,输入如下命令,以ONNX路径和DirectML方式运行WebUI。这将使用我们在第3节中创建的优化模型。 织梦内容管理系统

webui.bat --onnx --backend directml

织梦好,好织梦

3.按住CTRL键并单击“Running on local URL:”之后的URL以运行WebUI 内容来自dedecms

adit_bhutani_8-1692385515318.png 本文来自织梦

4. 从下拉列表中选择“stable-diffusion-v1-5”

本文来自织梦

内容来自dedecms

6.结论 本文来自织梦

AMD Radeon RX 7900 XTX在默认PyTorch路径上运行,每秒可提供1.87次迭代。 织梦内容管理系统

AMD Radeon RX 7900 XTX在Microsoft Olive的优化模型上运行,每秒可提供18.59次迭代。 织梦好,好织梦

adit_bhutani_1-1692387428847.png 织梦好,好织梦

最终结果是AMD RadeonRX 7900 XTX性能提升至高可达9.9倍。

织梦好,好织梦

(IT产业网小编:乐小编)