ComfyUI 本地部署指南:概念、部署过程、生成图片、共享 WebUI 模型

image.png

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。

大家好,我是水滴~~
本文主要讲解 ComfyUI 的本地部署指南,内容主要包括:ComfyUI 的概念、ComfyUI 本地部署过程、使用 ComfyUI 生成第一张图片、共享 WebUI 中的模型。
文章内容包含大量的图例,希望能够帮助新手同学快速入门。

一、什么是 ComfyUI

ComfyUI 是一个基于节点的 Stable Diffusion 图形化用户界面。您可以通过将不同的节点连接在一起来构建生成图像的工作流程。
一些常用的节点包括加载检查点模型(Load Checkpoint)、输入提示词(CLIP Text Encode)、指定采样器(KSampler)等。ComfyUI 将工作流程分解为可重新排列的元素,以便您可以轻松创建自己的元素。

comfyui_screenshot.png

1.1 优点

  • 显存占用少:相较于传统的 WebUI,ComfyUI 在相同显存条件下能够呈现更宏伟的图像。这对于显存有限的用户来说是一个巨大的优势,使得他们能够在不牺牲图像质量的情况下,生成更大、更复杂的图像。
  • 灵活性高:ComfyUI 更适合处理复杂、长线的大规模工作。通过将 Stable Diffusion 的流程拆分成各个节点,它成功实现了工作流的精准定制和可靠复现。这种方式能够将传统 WebUI 中需要多步操作的流程整合到一个流畅的工作流之中,从而提高了工作效率。
  • 工作流可复用:ComfyUI 能够保存已使用的工作流,方便用户下次使用相同流程时直接加载并实现快捷复用。这大大节省了用户的时间和精力,提高了工作效率。
  • 可玩性丰富:每个节点都可以安装所需加载,而且通过连线的流程式玩法,用户能够拥有更多探索的可能性。这使得 ComfyUI 不仅仅是一个图像生成工具,更是一个能够激发用户创造力和想象力的平台。

1.2 缺点

  • 学习成本高:相对于传统的 WebUI,ComfyUI 的主要短板在于其学习成本高。由于它的工作流程和操作方式相对复杂,需要用户花费更多的时间和精力去熟悉和掌握。这可能会对一些新用户造成一定的困扰。
  • 需要掌握底层原理:学习 ComfyUI 前需要掌握 Stable Diffusion 的底层原理,否则你都不知道各节点间该如何连接。
  • 插件生态未完善:目前 ComfyUI 的插件生态尚未达到 WebUI 的广度。虽然它支持安装各种节点和插件来扩展其功能,但可用的插件数量和种类相对较少,可能无法满足所有用户的需求。
  • 界面不一致性:ComfyUI 的界面可能会因为工作流程的不同而有所差异。每个工作流程可能会以不同的方式放置节点和控件,这可能会让用户感到困惑和不便。

总的来说,ComfyUI 具有其独特的优点和缺点。用户可以根据自己的需求和情况来选择是否使用它。如果你是一个有经验的图像生成用户,并且希望探索更多高级功能和玩法,那么 ComfyUI 可能是一个不错的选择。但如果你是一个新用户或者对复杂的工作流程感到困惑,那么你可能需要先熟悉和掌握其操作方式后再使用,推荐你先学习 Stable Diffusion WebUI。

二、ComfyUI 本地部署

为了充分利用 ComfyUI 的功能,许多用户选择将其部署在本地计算机上。以下是在本地部署 ComfyUI 的详细步骤(基于 Windows 操作系统)。

2.1 下载 ComfyUI 安装包

ComfyUI 的 Windows 版有一个便携式独立安装包,我们可以在 Releases 页面下载最新稳定版本,或者展开【Assets】下载历史版本:
image.png
你也可以直接点击这个连接下载:https://github.com/comfyanonymous/ComfyUI/releases/download/latest/ComfyUI_windows_portable_nvidia_cu121_or_cpu.7z

我也将该安装包和基础模型放到了网盘中,这里分享给大家。
网盘链接:https://pan.quark.cn/s/6b091df22cf8
image.png

2.2 解压安装包

安装包是 .7z 格式的压缩包,我们解压即可。下面是解压后的目录结构,以及对应的作用:
image.png

2.3 下载模型

ComfyUI 的安装包中是不包含模型的,需要我们自行下载。这里我们以 SD1.5 的基础模型为例来说明,我已经将该模型放到网盘中,先下载下来。
网盘链接:https://pan.quark.cn/s/6b091df22cf8
下载完模型后,将其放到 ComfyUI\models\checkpoints 目录中,这样就可以在 ComfyUI 中使用该模型了:
image.png

2.4 启动 ComfyUI

该安装包中已经内置了两个启动脚本:

  • run_nvidia_gpu.bat:如果你是 Nvidia 显卡,双击运行此脚本。
  • run_cpu.bat:如果你不是 Nvidia 显卡,则运行此脚本。

当控制台出现下面界面,表示启动成功:
image.png
这时会自动在浏览器中打开 http://127.0.0.1:8188 地址,这就是 ComfyUI 的 GUI 界面:
image.png

2.5 更新 ComfyUI

如果想更新 ComfyUI,可以在 update 目录中执行更新脚本:
image.png

三、生成第一张图像

接下来我们介绍,如何在 ComfyUI 中生成第一张图像。在 ComfyUI 启动后,会有一个默认的工作流,该流是典型的文生图工作流。

我们先在【Load Checkpoint】中选择一个模型,然后输入正向提示词和负责提示词,其它先保持默认,最后点击【Queue Prompt】来运行工作流:
image.png
第一次生成图片时,会先将模型加载到显存中,所以会慢一些。经过一段时间的等待,第一张图片就生成好了:
image.png

四、共享 WebUI 的模型

如果你同时安装了 Stable Diffusion WebUI 和 ComfyUI 两个 GUI,那么你不必为每个 GUI 单独设置模型目录,这样你的磁盘会爆满的。下面我们讲解,如果共享 WebUI 中的模型。

ComfyUI 目录中,你会发现有一个 extra_model_paths.yaml.example 文件:
image.png
将该文件重命名为 extra_model_paths.yaml
image.png
然后,打开该文件,找到 base_path: path/to/stable-diffusion-webui/ 行:
image.png
将该行替换成你的 WebUI 的目录,例如 base_path: D:\StableDiffusion\stable-diffusion-webui\
image.png
最后,重启 ComfyUI。你就会在【Load Checkpoint】的【ckpt_name】中看到 WebUI 中的模型了:
image.png

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

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

相关文章

MySQL---增删改查

MySQL是一个流行的关系型数据库管理系统,它使用结构化查询语言(SQL)来管理数据库中的数据。以下是MySQL中增删改查(CRUD)操作的基本命令: 创建(Create): 创建新表:CREATE TABLE table_name (column1 datatype,column2 datatype,...PRIMARY KEY (column) );插入数据:…

inventor 2021 Inventor 无法访问您的许可。网络许可不可用 也会出现在其他软件上

错误提示一般如下图 Inventor 无法访问您的许可。 无法访问您的许可 最常见的原因有: 未连接到 Internet许可服务器不工作许可服务器找不到有效许可 您可以执行以下操作: 检查是否连接到 Intemnet停止/重新启动许可服务器 如需进一步帮助,您可以: -与 CAD或IT管理…

C++11function包装器的使用

类模板std::function是一种通用、多态的函数包装。std::function的实例可以对任何可以调用的目标实体进行存储、 复制和调用操作。这些目标实体包括普通函数、Lambda表达式、函数指针、以及其他函数对象等。std::function对象是对 C中现有的可调用实体的一种类型安全的包裹&…

【全开源】班级管家微信小程序(FastAdmin+ThinkPHP)

班级管家微信小程序 班级管家微信小程序,作为一款专注于家校沟通、作业管理、成绩发布等方面的工具,凭借其丰富的特色功能和显著的优势,已经成为广大教师、家长和学生日常学习生活中不可或缺的一部分。 一、特色功能 家校沟通便捷&#xff…

42-1 应急响应之账户排查

一、用户信息排查 在服务器被入侵后,攻击者可能会建立相关账户(有时是隐藏或克隆账户),方便进行远程控制。攻击者会采用的方法主要有如下几种: 直接建立一个新的账户:攻击者直接创建一个新的账户,有时为了混淆视听,账户名称与系统常用名称相似。 激活一个系统中的默认…

Vue3实现简单的瀑布流效果,可抽离成组件直接使用

先来看下效果图: 瀑布流中的内容可进行自定义,这里的示例图是通过不同背景颜色的展示进行区分,每个瀑布流中添加了自定义图片和文字描述。 实现方式: 1.建立子组件(可单独抽离)写出瀑布流的样式 文件名为…

数据结构之时间复杂度和空间复杂度的相关计算

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:数据结构(Java版) 目录 时间复杂度 概念 大O的渐进表示法 相关练习 例1: 例2: 例3&am…

C++时间操作

C时间操作 文章目录 C时间操作sleep系列sleepnanosleepstd::this_thread::sleep_for sleep系列 sleep sleep 是在计算机编程中用于暂停当前进程或线程一段时间的函数。让程序暂停执行指定的秒数。 sleep 函数在 <unistd.h> 头文件中定义&#xff0c;其原型如下&#x…

重磅推荐!四信AI智能一体屏系列全网上线

近年来&#xff0c;随着物联网、云计算、人工智能等新兴技术快速发展&#xff0c;制造、能源、交通、零售、医疗等行业设备需要更高程度的自动化控制。 传统的计算机和控制设备早已无法满足如今高性能复杂任务的要求&#xff0c;越来越多主流行业的项目落地依靠工控机&#xff…

基于springboot的大创管理系统

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了大创管理系统的开发全过程。通过分析大创管理系统管理的不足&#xff0c;创建了一个计算机管理大创管理系统的方案。文章介绍了大创管理系统的系统分析部分&…

Stanford-Coursera 算法Week1 笔记

题外话&#xff1a;全文免费放心食用&#xff0c;作者在此求个 三连关注 1. Integer Multiplication&#xff08;引入&#xff09; &#xff08;很小的时候我们就学过&#xff1a;两个数字相乘的算法——将输入(两个数字)转换为输出(它们的乘积)的一组定义良好的规则&#xf…

网络安全资源和参考指南

由美国国防部&#xff08;DoD&#xff09;发布的《网络安全资源和参考指南》&#xff0c;旨在为美国政府、商业部门以及美国盟友和伙伴之间的安全合作提供有用的、现成的参考资料。文档涵盖了网络安全规范、最佳实践、政策和标准&#xff0c;这些都是由美国联邦政府、国防部以及…

vue3实现excel导出

前言&#xff1a;在开发一些管理系统的时候&#xff0c;常常会遇到表格导入导出的问题&#xff0c;总的来说呢&#xff0c;代码模板也挺固定的&#xff0c;仅以此博客作为记录以供参考 html部分 <Button click"downLoadPlan" type"primary">导出方案…

软件测试学习

软件测试学习 编辑时间&#xff1a;2024/5/17 0.理论学习 第一单元 Q开发工程师和测试工程师的关系理解 Q软件测试的目的和原则&#xff0c;识记、理解 为什么要进行软件测试 软件产品最终具备哪些功能由客户需求决定&#xff0c;客户需求如何转化为最终的软件产品要…

Java8 Optional常用方法使用场景

前言&#xff1a; Optional 是 Java 8 的新特性&#xff0c;专治空指针异常&#xff08;NullPointerException, 简称 NPE&#xff09;问题&#xff0c;它是一个容器类&#xff0c;里面只存储一个元素&#xff08;这点不同于 Conllection&#xff09;。 为方便用户通过 Lambda 表…

Wpf 使用 Prism 实战开发Day23

自定义对话框服务 当原有对话框不能满足需求的时候&#xff0c;可以通过自定义对话框来实现特殊的需求 一.自定义对话框主机服务步骤&#xff1a; 1.建立一个IDialogHostService 接口类&#xff0c;继承自 IDialogService 对话框服务类。并且自定义基类的服务方法。 public …

mac电脑安装python的spacy

打开终端&#xff1a;你可以通过在Finder中打开应用程序 > 实用工具 > 终端&#xff0c;或者使用Spotlight搜索终端来打开它。 确认Python环境&#xff1a;在安装spacy之前&#xff0c;确认你使用的Python环境。如果你有多个Python版本&#xff0c;确保你使用的是正确的…

Java - Scanner类

Scanner类 scanner 是 Java 中的一个类。类是一个构造块&#xff0c;它定义了创建某些类型的对象&#xff08;实例&#xff09;时它们的属性和行为。在面向对象编程&#xff08;OOP&#xff09;中&#xff0c;类可以视为创建对象的模板或蓝图&#xff0c; Scanner 类属于 jav…

【嵌入式软件工程师面经】Socket,TCP,HTTP之间的区别

目录&#xff1a; 目录 目录&#xff1a; 一、Socket原理与TCP/IP协议 1.1 Socket概念&#xff1a; 1.2 建立Socket连接&#xff1a; 1.3 SOCKET连接与TCP/IP连接 二、HTTP连接&#xff1a; 2.1 HTTP原理 三、三者的区别和联系 前些天发现了一个巨牛的人工智能学习网站&#xf…