AMD核显推理Stable Diffusion

金歌  论坛元老 | 2025-4-21 02:03:10 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1778|帖子 1778|积分 5334

目的

近期,我开始了尝试使用Stable Diffusion举行文生图和。为此,我也尝试了多种在线服务,如WHEE。固然在线平台可以或许提供不错的生成效果,但是生成的图片太多的话最终照旧需要收费的。
因此我想尝试在本地摆设SD模型举行图像生成。目前我手上性能最强的主机只有UM790 Pro迷你主机了。可是它搭载了AMD的核显iGPU(AMD Radeon™ 780M),固然它的性能靠近GTX1650,但是摆设SD模型肯定没有英伟达的GPU方便,而且还不支持ROCm。
在此记载一下我使用UM790 Pro本地摆设SD模型的流程,希望能帮到大家。如有问题,还请批评指正。
准备条件



  • UM790 pro迷你主机(搭载780M核显)
  • 核显需要支持DirectML,否则只能使用CPU
情况准备


  • 安装conda情况
    conda的安装这里就不赘述了,可以直接参考百度。安装完成之后,我们需要创建python3.10的情况。网上参考资料说directml似乎最高支持到3.10(不保真)。
    1. conda create -n sd_directml python=3.10.13
    2. conda activate sd_directml
    复制代码
    我这里安装的版本为3.10.13,之后的操纵建议都在这个conda情况中举行。
  • 安装pyenv
    由于之后使用的SD项目安装时会自动创建pyenv情况,因此假如没有安装pyenv的话还需要举行安装。windows情况下安装pyenv的教程如下,在此就不举行赘述了。
    python多情况管理工具——pyenv-win安装与使用教程
    安装完成后在工程目录下进入和退出pyenv情况可使用如下下令
    1. venv\Scripts\activate#进入
    2. venv\Scripts\deactivate.bat#退出
    复制代码
安装stable-diffusion-webui-directml

起首将其项目克隆下来
  1. git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.git
  2. cd stable-diffusion-webui-directml
  3. git submodule init
  4. git submodule update
复制代码
之后我们实行脚本举行安装
  1. webui.bat --skip-torch-cuda-test --precision full --no-half
复制代码
在安装的时间会安装onnxruntime这是我们使用iGPU举行模型推理的关键。但是安装的并不是directml版本,因此在脚本实行结束后,我们需要退出脚本并进入到工程目录下面的pyenv情况中手动安装onnxruntime-directml,具体下令如下
  1. venv\Scripts\activate
  2. pip uninstall onnxruntime
  3. pip install onnxruntime-directml
  4. #venv\Scripts\deactivate.bat
复制代码
之后可以实行python下令检察当前onnxruntime支持的excutionprovider
  1. import onnxruntime as ort
  2. # 获取当前系统上可用的所有执行提供者
  3. providers = ort.get_available_providers()
  4. print("Available Execution Providers:")
  5. for provider in providers:
  6.     print(provider)
复制代码
不出意外的话会看到dmlexcutionprovider,说明我们可以使用directml调用iGPU运行SD模型了。
项目设置

重新运行下令
  1. webui.bat --skip-torch-cuda-test --precision full --no-half
复制代码
在打开的web界面中找到Settings->ONNX Runtime,并按下图举行设置

其中的”Use ONNX Runtime instead of Pytorch implementation“就是选择是否使用ONNXRuntime的,勾选后就能调用iGPU,取消勾选就是使用的CPU。
文生图测试



以上简单生成了一个小狗睡觉的图片,可以发现效果还可以。在实际测试中,发现采样20步使用CPU推理时需要1分半钟,使用GPU时只需要半分钟,速率有了显着的提升。
除此最基本的使用之外,还支持微调模型的使用,可以参考
【Stable Diffusion】微调模型详细教程 - embedding, hypernetwork, LoRA
参考资料



  • StableDiffusion 适用于 Windows+DirectML+iGPU
  • python多情况管理工具——pyenv-win安装与使用教程
  • 【Stable Diffusion】微调模型详细教程 - embedding, hypernetwork, LoRA

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金歌

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表