当前位置:首页|资讯|Stable Diffusion WebUI|Stable Diffusion

Stable Diffusion webui TensorRT插件安装

作者:无节操の网管发布时间:2023-06-04

1、安装Build Tools for Visual Studio 2022 ,勾选 使用C++的桌面开发  其他保持默认即可

https://aka.ms/vs/17/release/vs_BuildTools.exe

2、下载并安装CUDA Tookit 11.8,保持默认设置即可

https://developer.nvidia.com/cuda-toolkit-archive

3、下载TensorRT 8.6压缩包,跟cuda版本保持对应关系就行

https://developer.nvidia.com/nvidia-tensorrt-8x-download

是11.8的CUDA就选择上面那个

4、在stable diffusion webui中安装stable-diffusion-webui-tensorrt插件,插件安装完后直接关闭stable diffusion webui即可

插件地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui-tensorrt

5、将TensorRT-8.6.1.6文件夹解压至stable-diffusion-webui-tensorrt插件目录,

确保TensorRT-8.6.1.6文件夹下一级就是bin等文件夹

确保TensorRT-8.6.1.6目录下就是bin等文件夹

6、切换stable diffusion webui分支为dev,目前仅在dev分支支持该插件

在stable diffusion webui 根目录打开cmd ,输入命令:

git checkout dev

git pull

确保是在根目录,确保执行了git pull更新到最新的代码


如果后面需要切换回稳定的 master 分支,输入

git checkout master

7、启动stable diffusion webui ,不要使用python webui.py 启动,这样不会自动安装依赖的文件 。启动后能看到TensorRT标签页说明安装成功了

如果看到出现pycuda 模块缺少 就使用python launch.py启动就行

如果看到是缺少sd_unet说明是没有使用dev分支,或者dev分支没有更新,执行6步的命令就行

使用教程


automatic1111的使用说明机翻,作者的说明其实已经够用了

1、转换模型为ONNX格式

默认留空就是选择你当前选择的模型,点击Convert Unet to ONNX 就会开始转换了,大约1分钟

强烈建议打开任务管理器看着,因为整个流程没有进度条,看着任务管理器你才知道他确实没有卡死

转换完成后的文件会在 stable-diffusion-webui\models\Unet-onnx 文件夹内

大小大概1.6G

2、转换ONNX模型为TensorRT格式

切换到Convert ONNX to TensorRT 标签页

Onnx model filename 输入刚才转换好的文件地址,例如:

D:\stable-diffusion-webui\models\Unet-onnx\cetusMix_v4.onnx

剩下的参数是转换后所支持的图片生成参数,比如 Maximum width 和 Maximum height 指定了图片最大尺寸,后面使用时如果你要生成512x768的长图就会报错

* Maximum prompt token count 这个参数目前似乎没有用,最大还是只支持75 tokens

* 目前分辨率最大仅支持768*768

Convert ONNX to TensorRT 点击就会开始进行转换,根据参数的不同时间不同,会很久

我的机器上 512x512  跑了6分钟,768x768 跑了18分钟

Show command for conversion 会在右边生成命令,可以在关闭stable diffusion webui后在命令行窗口执行,节省显存

转换完成后会在 stable-diffusion-webui\models\Unet-trt 文件夹下看见.trt格式的文件

3、启用TensorRT模型

前往 setting 选项卡  stable diffsuion -> SD-UNET 选择转换后的文件或者 Automatic (右上角模型选择和tensorRT模型文件名相同时就自动启用),记得点击Apply Settings 保存

如果没有就点右边的刷新按钮刷新下

之后生成的图片就是使用TensorRT加速的了

安装成功的话,第一次生成图片是应该会看到

加速效果确实挺明显,大概1.4倍左右的速度提升

目前问题还很多,分辨率太小,不支持controlnel ,不支持长tokens,转换时间过长(观察任务管理器似乎是单线程?)


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1