onnx-web
onnx-web 旨在简化运行稳定扩散和其他 ONNX 模型的过程,以便您可以专注于制作高质量、高分辨率的艺术作品。凭借 AMD 和 Nvidia GPU 上的硬件加速效率,并提供可靠的 CPU 软件回退,它可以在台式机、笔记本电脑和多 GPU 服务器上提供完整的功能集,并提供无缝的用户体验。
您可以通过用户友好的 Web UI 进行导航,该 UI 托管在 Github Pages 上,并且可以通过所有主要浏览器(包括您的首选移动设备)进行访问。在这里,您可以灵活地为每个图像管道选择扩散模型和加速器,并轻松访问定义每个模式的图像参数。无论您是上传图像还是通过修复和修复来表达您的艺术风格,onnx-web 都提供了一个用户友好且功能强大的环境。最近的输出图像整齐地呈现在控件下方,作为重新访问以前的参数或重新混合以前的输出的方便的视觉参考。
通过其 API 深入了解 onnx-web 体验,该 API 与 Linux 和 Windows 兼容。这个 RESTful 界面无缝集成了 HuggingFace 扩散器库中的各种管道,提供有关模型和加速器的宝贵元数据,以及创意运行的详细输出。
使用 onnx-web 踏上您的生成艺术之旅,并通过我们详细的文档网站探索其功能。查找全面的入门指南、设置指南和用户指南,为您的创意事业提供支持!
请查看文档网站以获取更多信息:
特征
这是新的和有趣的功能的不完整列表:
- 支持 SDXL 和 SDXL Turbo
- 各种调度程序:DDIM、DEIS、DPM SDE、Euler Ancestral、LCM、UniPC 等
- AMD 和 Nvidia 的硬件加速
- 在 CUDA、DirectML 和 ROCm 上进行了测试
- AMD 和 Nvidia 上对低内存 GPU 的半精度支持
- 仅 CPU 系统的软件回退
- 用于生成和查看图像的 Web 应用程序
- 托管在 Github Pages、CDN 或本地
- 当您更改选项卡时保留您最近的图像和进度
- 将多个图像排队并重试错误
- 提供英语、法语、德语和西班牙语翻译(请打开一个问题以获取更多信息)
- 支持许多
diffusers
管道- txt2img
- 图像2图像
- 修复,带遮罩绘制并上传
- 全景,适用于 SD v1.5 和 SDXL
- 通过 ONNX 加速进行升级
- 添加并使用您自己的模型
- 从扩散器和 SD 检查点转换模型
- 从 HuggingFace hub、Civita 和 HTTPS 源下载模型
- 融入额外的网络
- 永久和基于提示的混合
- 支持 LoRA 和 LyCORIS 权重
- 支持文本倒置概念和嵌入
- 控制网
- 用于边缘检测和其他方法的图像滤波器
- 具有 ONNX 加速
- 高分辨率模式
- 对其他管道的结果运行 img2img
- 多次迭代可以生成 8k 图像及更大的图像
- 多阶段和区域提示
- 在同一张图像中无缝组合多个提示
- 为图像中的不同区域提供提示并将它们混合在一起
- 更改高分辨率模式的提示并细化细节而无需递归
- 无限提示长度
- 图像混合模式
- 放大和校正
- 使用 Real ESRGAN、SwinIR 和稳定扩散进行升级
- 使用 CodeFormer 和 GFPGAN 进行面部校正
- API服务器可以远程运行
- REST API 可以通过 HTTPS 或 HTTP 提供服务
- 所有图像管道的后台处理
- 轮询图像状态,与负载均衡器配合良好
- 提供 OCI 容器
- 对于所有支持的硬件加速器
- 将 API 和 GUI 包包含在一个容器中
- 在 RunPod、Vast.ai 和其他 GPU 容器托管服务上运行良好
内容
设置
运行 onnx-web 有几种方法:
- 跨平台:
- 克隆此存储库,创建虚拟环境,然后运行
pip install
- 拉取并运行 OCI 容器
- 在 Windows 上:
- 克隆此存储库并运行
setup-*.bat
脚本之一 - 下载并运行实验性一体化捆绑包
您只需要运行服务器,不需要编译任何东西。客户端 GUI 托管在 Github Pages 上,并包含在 Windows 一体化捆绑包中。
扩展设置文档已移至设置指南。
添加您自己的模型
您可以通过从 HuggingFace Hub 或 Civitai 下载或从本地文件转换它们来添加自己的模型,而无需进行任何代码更改。您还可以使用提示中的标记下载并混合其他网络,例如 LoRA 和文本反转。
用法
已知错误及解决方案
请参阅用户指南的已知错误部分。
运行容器
这已移至服务器管理指南。
制作人员
一些转换和管道代码是从以下代码复制或派生的:
-
Amblyopius/Stable-Diffusion-ONNX-FP16
- GPL v3:https://github.com/Amblyopius/Stable-Diffusion-ONNX-FP16/blob/main/LICENSE
- https://github.com/Amblyopius/Stable-Diffusion-ONNX-FP16/blob/main/pipeline_onnx_stable_diffusion_controlnet.py
- https://github.com/Amblyopius/Stable-Diffusion-ONNX-FP16/blob/main/pipeline_onnx_stable_diffusion_instruct_pix2pix.py
-
d8ahazard/sd_dreambooth_extension
- 非商业许可证:https://github.com/d8ahazard/sd_dreambooth_extension/blob/main/license.md
- https://github.com/d8ahazard/sd_dreambooth_extension/blob/main/dreambooth/sd_to_diff.py
-
huggingface/diffusers
- Apache v2:https://github.com/huggingface/diffusers/blob/main/LICENSE
- https://github.com/huggingface/diffusers/blob/main/scripts/convert_stable_diffusion_checkpoint_to_onnx.py
-
uchuusen/onnx_stable_diffusion_controlnet
- GPL v3:https://github.com/uchiusen/onnx_stable_diffusion_controlnet/blob/main/LICENSE
-
uchuusen/pipeline_onnx_stable_diffusion_instruct_pix2pix
- Apache v2:https://github.com/uchuusen/pipeline_onnx_stable_diffusion_instruct_pix2pix/blob/main/LICENSE
这些部分有自己的许可证,并对商业使用、修改和重新分发有附加限制。该项目的其余部分是在 MIT 许可证下提供的,我正在努力将这些组件隔离到一个库中。
将稳定扩散与硬件加速结合使用还有许多其他不错的选择,包括:
- https://github.com/Amblyopius/AMD-Stable-Diffusion-ONNX-FP16
- https://github.com/azuritecoin/OnnxDiffusersUI
- https://github.com/ForserX/StableDiffusionUI
- https://github.com/pingzing/stable-diffusion-playground
- https://github.com/quickwick/stable-diffusion-win-amd-ui
如果没有以下人员的指导,就不可能在 AMD 上进行此设置并运行:
- https://gist.github.com/harishanand95/75f4515e6187a6aa3261af6ac6f61269
- https://gist.github.com/averad/256c507baa3dcc9464203dc14610d674
- https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs
- https://www.travelneil.com/stable-diffusion-updates.html