看完这篇文章,你还会用再用AUTOMATIC1111 WebUI吗?

news2025/1/19 16:28:19

​说起 AUTOMATIC1111 的 Stable diffusion-wbui 这个项目,使用过Stable diffusion的人应该无人不知吧,网络上基本一边倒的在使用他家的项目,而且fork量和star量还不小:

0

但是AUTOMATIC1111 这个名字总给我一些不靠谱的感觉,虽然它的项目还不错,如果你进他这个账号下面,会发现,他还有很多项目,但是都没有这个项目火。

我在部署stable diffusion的过程中,尝试了很多项目,也踩了不少坑,最后找到了这个非常令我心仪的项目:SD.Next。这里我要隆重地介绍给大家,相信看完我的文章,你会马上丢掉AUTOMATIC1111 的webui,为什么这么说呢?

SD.Next 跟 AUTOMATIC1111 WebUI的fork 数量持平了,而且发展势头更强劲。

0

SD.Next来源于AUTOMATIC1111 webui,但是提供一些高级特征,

这个项目的github名字叫automatic,而这个名字却是前面那个项目的账号名字。听起来要靠谱一点,而SD.Next应该可以叫automatic的别名。。。开个玩笑。

我们直接看他有啥不一般,这里是介绍:

0

它的界面是这个样子:

0

作者整理了13个特征,因为他觉得TOP10 表达不尽兴,大家对照着看看就好了,我提几个我认为不错的亮点:

  1. UI界面更漂亮,默认是黑色主题,不同于前者的灰白色主题。Ui界面下面有滚动日志输出,更方便调试。提交任务支持加入队列按钮操作等。

  2. 支持多个backend,在前者的基础上增加了diffusers。diffusers是一个开源的Python代码库,为使用扩散模型进行图像生成提供了一致的接口。最流行的扩散模型是Stable Diffusion。当前唯一支持Stable diffusion xl的就是diffusers,所以大家知道SD.Next支持diffusers意味着什么了吧。

  3. 支持多种扩散模型,除了SD.Next支持Stable Diffusion,还支持SD-XL, Kandinsky, DeepFloyd IF,而 DeepFloyd IF这个扩散模型在图像中精确生成文字方面有着重要地位。关于这个模型的详细信息,后续我会另外介绍。Stable Diffusion 包括 v1,v2都支持的,也就是继承了 stable diffusion webui已有的功能。

  4. 跨平台支持,包括Windows / Linux / MacOS with CPU / nVidia / AMD / IntelArc / DirectM。

  5. 其他系统优化,比如提示词解析能力,队列管理,Lora等模型训练增强,企业级的日志和接口增强,系统自更新和依赖管理,生态兼容等

关于这个项目的目标,作者也说了:为了跟进最新的文生图方面的技术,同时提供跨平台能力,保证在不同平台上的性能、直观易用和一致性的体验。

为追求技术,跟易用性往往不容易那么兼顾,如果你不像我这样在意这些特征,也可以看看InvokeAI 这个项目,她部署更自动化和易用。当然如果你已经习惯了 stable duffusion ui,那么你上手SD.Next 一点儿问题也没有。

如果你想尝试 InvokeAI ,欢迎留言和支持,我接下来看反馈情况,决定要不要写这方面的文章。

SD.Next的界面,前面大家也看了,她内置了这些功能,比如常用的文生图,图生图,图像处理,扩展管理,openpose,模型。训练等:

0

接下来,我们来看怎么部署和使用SD.Next吧。

首先,你得先准备好git和Python的安装环境。

然后:下载源代码到本地目录。

git clone https://github.com/vladmandic/automatic

再然后:进入代码目录,运行:

webui.bat --debug (Windows) 或者 webui.sh --debug (Linux/Mac) t

最后,在启动过程中,询问是否下载默认model,选择N。如果一切运行正常,浏览器输入:

http://127.0.0.1:7860

Enjoy yourselves!

0

简单输入 a cat,测试下系统运行情况,如果能够正常生成图像,说明系统安装没问题。

但是系统默认使用的是v1.5的某模型,如果要使用最新的SDXL模型(SDXL模型包括:base和refiner),你需要手动去下载它。这里有点儿让人不爽,SDXL 大模型本来跟其他Sd模型一样,直接丢进 Stable diffusion models文件夹就能用的,但是SD.Next不行,加载会报错,所以还不能这么用。它需要这么干:

在SD.Next Web-UI 页面上,导航到Models page 和  Huggingface tab,在 Select model框中输入:

stabilityai/stable-diffusion-xl-base-1.0

点击搜索,然后在下面表格中会出现搜索结果:

0

鼠标点击搜索结果,会自动回填上文的其他空白框,确认没有问题之后,点击 download model 按钮,SD.Next 就会自动下载模型到本地。同样的操作来下载,输入

stabilityai/stable-diffusion-xl-refiner-1.0

0

等两个模型都下载好了,在Diffusers 文件夹中会发现多了两个目录:

0

,每个目录都存储了不少内容,这个下载的模型跟我们在Stable diffusion Ui中丢进 Stable diffussion models目录中的完全版不一样:

0

SDXL下载好了,你还不能马上去用它,你还需要做一件事:切换 backend 引擎,前文我提到SD.Next支持多backend,默认backend是原来的,不是新增的diffusers。此时需要切换到新的backend 才能使用SDXL。方法很简单,在启动命令中增加一个参数,完整命令类似这种:

cd automatic; .\webui.bat --backend diffusers

其他平台也一样,都是增加  --backend diffusers 这样的一个参数。跟前面有一个空格隔开。

执行上述命令,重启服务,刷新页面你发现上面的模型下拉列表中多了SDXL 的base模型:

0

因为SDXL的base 模型可以独立使用,没有refiner也没关系,测试生成一张图看看:

0

图片还算清晰,如果某些图不清晰,可以再搭配refiner模型来优化:进入  Settings page, 在 QuickSettings list (search quick to find it), 添加

sd_model_refiner

0

如果你想要在下来框中有更多的联动选项,还可以增加更多参数:

0

然后保存设置并重启Server:

0

重新加载web Ui后会发现,两个模型都出来了:

0

重新再生成一下刚才的图片,注意图像大小都设置为1024:

0

两张图都很清晰,通常使用了精修后的图像效果会更好一些,但是也不绝对。在这个场景中,用不用refiner都一样,反正肉眼看不出区别。也可能是我瞅电脑太久了,现在我感觉眼睛发胀。。。

如果你想切换到原来的sd 1.x或者2.x,可以在Settings中勾选original,重启Server即可:

0

好了,到此关于新的web ui的部署和使用,我已经介绍完了,作为阅读这篇文章的你,有没有感觉比stable diffusion ui 更好啊?如果是我,果断去rm 它,如果上述理由还不够强的话,可以再回去试验下,前者是如何使用SDXL的两阶段模型的,而在新的ui中,两阶段模型是如此丝滑地集成到一起,方便得让人欲罢不能。如果有任何问题欢迎评论和加群交流。


公开​微信交流群:

图片

私密知识星球群:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/809036.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】多态、黑马程序员案例— —电脑组装、Visual Studio开发人员工具查看内部结构,cl /d1 reportSingleClassLayout

author:&Carlton tag:C topic:【C】多态、黑马程序员案例— —电脑组装、Visual Studio开发人员工具查看内部结构,cl /d1 reportSingleClassLayout website:黑马程序员C date:2023年7月24日 目录 纯虚函数、抽…

map的初始化、erase()、写入与写出

运行代码&#xff1a; //map的初始化、erase()、写入与写出 #include"std_lib_facilities.h"istream& operator>>(istream& is, map<string, int>&mm) {string ss"";int ii0;is >> ss;if(is>>ii)mm[ss] ii;return i…

【数据集】3小时尺度降水数据集-MSWEPV2

1 MSWEP V2 precipitation product 官网-MSWEP V2降水产品 参考

《向量数据库指南》:向量数据库Pinecone如何集成LangChain (一)

目录 LangChain中的检索增强 建立知识库 欢迎使用Pinecone和LangChain的集成指南。本文档涵盖了将高性能向量数据库Pinecone与基于大型语言模型(LLMs)构建应用程序的框架LangChain集成的步骤。 Pinecone使开发人员能够基于向量相似性搜索构建可扩展的实时推荐和搜索系统…

redis之Bitmap

位图数据结构其实并不是一个全新的玩意&#xff0c;我们可以简单的认为就是个数组&#xff0c;只是里面的内容只能为0或1而已(二进制位数组)。 GETBIT用于返回位数组在偏移量上的二进制位的值。值得我们注意的是&#xff0c;GETBIT的时间复杂度是O(1)。 GETBIT命令的执行过程如…

LeetCode 75 第十三题(1679)K和数对的最大数目

题目: 示例: 分析: 给一个数组&#xff0c;两个和为K的数为一组&#xff0c;问能凑成几组。 既然一组是两个数&#xff0c;那么我们可以使用双指针分别指向数组首尾&#xff0c;然后再判断能否凑成和为K的组. 在使用双指针寻找之前,我们应当先将数组排序(升序降序都无所谓),…

[SSM]Spring面向切面编程AOP

目录 十五、面向切面编程AOP 15.1AOP介绍 15.2AOP的七大术语 15.3切点表达式 15.4使用Spring的AOP 15.4.1准备工作 15.4.2基于AspectJ的AOP注解式开发 15.4.3基于XML配置方式的AOP&#xff08;了解&#xff09; 15.5AOP的实际案例&#xff1a;事务处理 15.6AOP的实际…

flask用DBUtils实现数据库连接池

flask用DBUtils实现数据库连接池 在 Flask 中&#xff0c;DBUtils 是一种实现数据库连接池的方案。DBUtils 提供了持久性&#xff08;persistent&#xff09;和透明的&#xff08;transient&#xff09;两种连接池类型。 首先你需要安装 DBUtils 和你需要的数据库驱动。例如&…

关于c++中虚函数和虚函数表的创建时机问题

以这段代码为例。 #include <iostream>using namespace std;class Parent { public:Parent(){}virtual void func1() {};virtual void func2() {}; };class Child :public Parent { public:Child():n(0),Parent(){cout << "Child()" << endl;}vir…

【机器学习】西瓜书学习心得及课后习题参考答案—第4章决策树

这一章学起来较为简单&#xff0c;也比较好理解。 4.1基本流程——介绍了决策树的一个基本的流程。叶结点对应于决策结果&#xff0c;其他每个结点则对应于一个属性测试&#xff1b;每个结点包含的样本集合根据属性测试的结果被划分到子结点中&#xff1b;根结点包含样本全集&a…

js中的遍历方法比较:map、for...in、for...of、reduce和forEach的特点与适用场景

&#x1f60a;博主&#xff1a;小猫娃来啦 &#x1f60a;文章核心&#xff1a;JavaScript中的遍历方法比较&#xff1a;map、for…in、for…of和forEach的特点与适用场景 文章目录 map 方法概述用法返回值特点 for...in 循环概述用法注意事项 for...of 循环概述用法可迭代对象…

苍穹外卖day09——历史订单模块(用户端)+订单管理模块(管理端)

查询历史订单——需求分析与设计 产品原型 业务规则 分页查询历史订单 可以根据订单状态查询 展示订单数据时&#xff0c;需要展示的数据包括&#xff1a;下单时间、订单状态、订单金额、订单明细&#xff08;商品名称、图片&#xff09; 接口设计 查询历史订单——代码开…

抖音seo短视频账号矩阵系统技术开发简述

说明&#xff1a;本开发文档适用于抖音seo源码开发&#xff0c;抖音矩阵系统开发&#xff0c;短视频seo源码开发&#xff0c;短视频矩阵系统源码开发 一、 抖音seo短视频矩阵系统开发包括 抖音seo短视频账号矩阵系统的技术开发主要包括以下几个方面&#xff1a; 1.前端界面设…

线程初见——对速度的追求

文章目录 线程进程线程区别线程之间资源线程库介绍 线程 同一个程序的所有线程共享一份全局内存区域 特例&#xff1a;只包含一个线程的进程 查看线程号&#xff1a;ps -Lf 号 和进程类似&#xff0c;完成并发任务的执行 进程线程区别 区别进程线程信息交换内存未共享&#xf…

cad丢失mfc140u.dll怎么办?找不到mfc140u.dll的解决方法

第一&#xff1a;mfc140u.dll有什么用途&#xff1f; mfc140u.dll是Windows操作系统中的一个动态链接库文件&#xff0c;它是Microsoft Foundation Class (MFC)库的一部分。MFC是 C中的一个框架&#xff0c;用于构建Windows应用程序的用户界面和功能。mfc140u.dll包含了MFC库中…

CAN15765和1939协议

1. 15765协议介绍 简单的来说&#xff0c;15765协议指的是 基于CAN2.0A/B 协议 &#xff08;也可以叫做ISO11898协议 -链路层&#xff09; 硬件接口的 应用层 通讯协议&#xff0c; 它用于实现通用的车辆诊断服务。 ISO11898协议参考下图。 参考搜索到的“CAN总线协议讲解…

【MySQL】索引特性

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《零基础入门MySQL》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录 &#x1f449;没…

蓝图节点编辑器

打印字符串 第02章 蓝图结构 03 -注释和重新路由_哔哩哔哩_bilibili 第02章 蓝图结构 04 - 变量_哔哩哔哩_bilibili 第03章 蓝图简易门 01 - 箱子碰撞_哔哩哔哩_bilibili 第03章 蓝图简易门 02 - 静态Mesh和箭头_哔哩哔哩_bilibili 第03章 蓝图简易门 03 - 设置相对旋转节点_哔…

流数据湖平台Apache Paimon(三)Flink进阶使用

文章目录 2.9 进阶使用2.9.1 写入性能2.9.2 读取性能2.9.3 多Writer并发写入2.9.4 表管理2.9.5 缩放Bucket 2.10 文件操作理解2.10.1 插入数据2.10.2 删除数据2.10.3 Compaction2.10.4 修改表2.10.5 过期快照2.10.6 Flink 流式写入 2.9 进阶使用 2.9.1 写入性能 Paimon的写入…

c++ 类的特殊成员函数:拷贝构造函数(四)

1. 简介 拷贝构造是一种特殊的构造函数&#xff0c;用于创建一个对象&#xff0c;该对象是从同一类中的另一个对象复制而来的。拷贝构造函数通常采用引用参数来接收要复制的对象&#xff0c;并使用该对象的副本来创建一个新对象。 2. 结构 class MyClass { public:MyClass(c…