ComfyUI

文章目录

    • 一、关于 ComfyUI
      • 特点
      • 快捷键
      • QA
        • 你为什么做这个?
        • 这是给谁的?
    • 二、安装
      • 1、Windows
        • 直接链接下载
        • 如何在另一个UI和ComfyUI之间共享模型?
      • 2、Jupyter Notebook
      • 3、手动安装(Windows、Linux)
        • AMD GPU(仅Linux)
        • Nvidia
          • 故障排除
        • 依赖
        • 其他:
          • 英特尔GPU
          • Apple Mac silicon
          • DirectML(Windows上的AMD卡)
    • 三、运行
      • 对于ROCm官方不支持的AMD卡
    • 四、笔记
      • 如何展示高质量的预览?
      • 如何使用TLS/SSL?


一、关于 ComfyUI

  • github : https://github.com/comfyanonymous/ComfyUI
  • 矩阵空间:#comfyui_space:matrix.org : https://app.element.io/#/room/%23comfyui_space%3Amatrix.org (类似 discord 但开源)。

ComfyUI 是最强大和模块化的stable diffusion GUI和后端。

在这里插入图片描述

此用户界面将允许您使用基于图形/节点/流程图的界面设计和执行高级stable diffusion 管道。

有关一些工作流程示例并查看ComfyUI可以做什么,您可以查看:

  • ComfyUI示例 : https://comfyanonymous.github.io/ComfyUI_examples/
  • 安装ComfyUI : https://github.com/comfyanonymous/ComfyUI#installing

特点

  • 节点/图形/流程图界面,用于试验和创建复杂的stable diffusion 工作流程,而无需编写任何代码。
  • 全面支持SD1. x、SD2.x、SDXL、Stable Video Diffusion、Stable Cascade和SD3
  • 异步队列系统
  • 许多优化:仅重新执行在执行之间更改的工作流部分。
  • 命令行选项:--lowvram使其在小于3GB vram的GPU上工作(在vram较低的GPU上自动启用)
  • 即使你一个GPU也没有,也可以运行,使用:--cpu(慢)
  • 可以加载ckpt、安全传感器和扩散器模型/检查点。独立的VAE和CLIP模型。
  • 嵌入/文本倒置
  • Loras(常规、locon和loha)
  • Hypernetworks
  • 从生成的PNG文件加载完整的工作流(带有种子)。
  • 将工作流保存/加载为Json文件。
  • 节点接口可用于创建复杂的工作流,如Hires修复或更高级的工作流。
  • 面积构成
  • 修复与常规和修复模型。
  • ControlNet 和 T2I-Adapter
  • 高级模型(ESRGAN、ESRGAN变体、SwinIR、Swin2SR等…)
  • unCLIP模型
  • GLIGEN
  • 模型合并
  • LCM模型 和 Loras
  • SDXL涡轮增压
  • 潜在预览与TAESD
  • 启动得很快。
  • 完全离线工作:永远不会下载任何东西。
  • 配置文件来设置模型的搜索路径。

工作流示例可以在示例页面 查看。


快捷键

对于macOS用户,Ctrl也可以替换为Cmd

键绑定说明
Ctrl+Enter将当前图形排队生成
Ctrl+Shift+Enter将当前图形作为第一个排队生成
Ctrl+Z/Ctrl+Y撤消/重做
Ctrl+S保存工作流
Ctrl+O加载工作流
Ctrl+A选择所有节点
Alt+C折叠/解折叠选定节点
Ctrl+M静音/取消静音选定节点
Ctrl+B旁路选定节点(就像节点从图形中删除,电线通过重新连接一样)
删除/退格删除选定节点
Ctrl+退格删除当前图形
空间按住画布并移动光标时移动画布
Ctrl/Shift+单击将单击的节点添加到选择
Ctrl+C/Ctrl+V复制和粘贴选定节点(不保持与未选择节点的输出)
Ctrl+C/Ctrl+Shift+V复制和粘贴选定节点(保持从未选择节点的输出到粘贴节点的输入的连接)
Shift+Drag同时移动多个选定节点
Ctrl+D加载默认图形
Alt++画布放大
Alt+-画布缩小
Ctrl+Shift+LMB+垂直拖动画布放大/缩小
Q切换队列的可见性
H切换历史可见性
R刷新图形
双击LMB打开节点快速搜索调色板

QA


你为什么做这个?

我想详细了解stable diffusion 是如何工作的。我还想要一些干净而强大的东西,让我不受限制地试验SD。


这是给谁的?

这适用于任何想要使用SD制作复杂工作流程或想要了解更多SD工作原理的人。
界面密切关注SD的工作原理,代码应该比其他SD UI更容易理解。


二、安装


1、Windows

有一个适用于Windows的可移植独立版本,应该适用于在Nvidia GPU上运行或仅在发布页面上运行在CPU上。


直接链接下载

https://github.com/comfyanonymous/ComfyUI/releases/download/latest/ComfyUI_windows_portable_nvidia_cu121_or_cpu.7z

只需下载,用7-Zip提取并运行。确保你把你的stable diffusion checkpoints/models (巨大的 ckpt/safetensors 文件)放在: ComfyUI\models\checkpoints

如果您无法提取它,右键单击 文件 --> 属性 --> 解除屏蔽


如何在另一个UI和ComfyUI之间共享模型?

请参阅配置文件以设置模型的搜索路径。在独立窗口构建中,您可以在ComfyUI目录中找到此文件。

将此文件重命名为 extra_model_paths. yaml 并使用您喜欢的文本编辑器 对其进行编辑。


2、Jupyter Notebook

要在纸质空间、kaggle 或 colab 等服务上运行它,你可以使用我的Jupyter笔记本 : https://github.com/comfyanonymous/ComfyUI/blob/master/notebooks/comfyui_colab.ipynb


3、手动安装(Windows、Linux)

Git克隆这个repo。

将您的SD checkpoints(巨大的 ckpt/safetensors 文件)放入 : models/checkpoints

将您的VAE放入:models/vae


AMD GPU(仅Linux)

如果您还没有安装,AMD用户可以使用pip安装rocm和pytorch,这是安装稳定版的命令:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.0

这是使用ROCm 6.0 安装夜间的命令,它可能会有一些性能改进:

pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.1

Nvidia

Nvidia用户应使用以下命令 安装稳定的pytorch:

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121

这是每晚安装pytorch的命令,它可能会提高性能:

pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu124

故障排除

如果您收到“未在启用CUDA的情况下编译Torch”错误,请使用以下方式卸载torch:

pip uninstall torch

并使用上面的命令再次安装它。


依赖

通过在ComfyUI文件夹中打开您的终端来安装依赖项,然后:

pip install -r requirements.txt

在此之后,您应该已经安装了所有内容,并且可以继续运行ComfyUI。


其他:

英特尔GPU

英特尔GPU支持适用于英特尔Pytorch扩展(IPEX)支持的所有英特尔GPU,支持安装页面中列出的支持要求。选择您的平台和安装方法,并按照说明进行操作。步骤如下:

  1. 首先安装上面链接的IPEX安装页面中列出的或更新的驱动程序或内核,如果需要Linux。
  2. 按照说明为您的平台安装英特尔的oneAPI Basekit。
  3. 使用平台安装页面中提供的说明安装IPEX软件包。
  4. 按照适用于Windows和Linux的ComfyUI手动安装说明,并在安装所有内容后如上所述正常运行ComfyUI。

更多的讨论和帮助可以在这里找到。


Apple Mac silicon

您可以使用任何最新的macOS版本在Apple Mac芯片(M1或M2)中安装ComfyUI。

  1. 每晚安装pytorch。有关说明,请阅读Mac Apple开发人员指南上的加速PyTorch培训(确保每晚安装最新的pytorch)。
  2. 按照Windows和Linux的ComfyUI手册安装说明进行操作。
  3. 安装ComfyUI依赖项。如果您有另一个stable diffusion 用户界面,您可能能够重用这些依赖项。
  4. 启动ComfyUI通过运行python main.py

注意:请记住将您的模型、VAE、LoRA等添加到相应的Comfy文件夹中,如ComfyUI手动安装中所述。


DirectML(Windows上的AMD卡)
pip install torch-directml`然后你可以用:`python main.py --directml

我已经安装了另一个用于stable diffusion 的UI,我真的必须安装所有这些依赖项吗?

你不知道。如果您安装了另一个UI并使用它自己的python venv,您可以使用该venv运行ComfyUI。您可以打开您最喜欢的终端并激活它:

source path_to_other_sd_gui/venv/bin/activate

或在Windows上:

使用Powershell:"path_to_other_sd_gui\venv\Scripts\Activate.ps1"

使用cmd. exe:"path_to_other_sd_gui\venv\Scripts\activate.bat"

然后您可以使用该终端运行ComfyUI,而无需安装任何依赖项。请注意,venv文件夹可能会被称为其他名称,具体取决于SD UI。

三、运行

python main.py

对于ROCm官方不支持的AMD卡

如果您有问题,请尝试使用此命令运行它:

对于6700、6600和其他RDNA2或更早版本:

HSA_OVERRIDE_GFX_VERSION=10.3.0 python main.py

对于AMD 7600和其他RDNA3卡:

HSA_OVERRIDE_GFX_VERSION=11.0.0 python main.py

四、笔记

仅执行具有所有正确输入的输出的图形部分。

只有图中从每次执行到下一次更改的部分将被执行,如果您两次提交相同的图,只有第一个将被执行。如果您更改了图的最后一部分,只有您更改的部分和依赖于它的部分将被执行。

在网页上拖动生成的png 或加载一个png 将为您提供完整的工作流程,包括用于创建它的种子。

您可以使用 ()来更改单词或短语的重点,例如:(good code:1.2)(bad code:0.8)

()的默认重点是1.1。在实际提示中使用()字符可以逃逸它们,例如 (

对于通配符/动态提示,您可以使用{day|night}。使用此语法,每次对提示进行排队时,前端都会将“{Wild|card|test}”随机替换为“野生”、“卡”或“测试”。在实际提示中使用{}字符逃逸它们,如:{}

动态提示也支持C风格的注释,如 // comment /* comment */

要在文本提示中使用文本反转概念/嵌入,请将它们放在模型/嵌入目录中,并在CLIPTextEncode节点中使用它们,如下所示(您可以省略 .pt 扩展名):

embedding:embedding_filename.pt

如何展示高质量的预览?

使用--preview-method auto启用预览。

默认安装包括低分辨率的快速潜在预览方法。要使用TAESD启用更高质量的预览,请下载taesd_decoder. pth(用于SD1.x和SD2.x)和taesdxl_decoder.pth(用于SDXL)模型,并将它们放在models/vae_approx文件夹中。安装后,重新启动ComfyUI以启用高质量预览。


如何使用TLS/SSL?

通过运行以下命令生成自签名证书(不适用于共享/生产使用)和密钥:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes -subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname"

使用--tls-keyfile key.pem --tls-certfile cert.pem启用TLS/SSL,该应用程序现在可以访问https://... 而不是 http://...

注意:Windows用户可以使用alexisrolland/docker-openssl 或 第3方二进制发行版 之一来运行上面的命令示例。

如果使用容器,请注意卷挂载-v可以是相对路径,因此... -v ".\:/openssl-certs" ... 将在命令提示符 或 powershell终端的当前目录中 创建密钥和证书文件。


2024-06-14(五)

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

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

相关文章

CloudFlare 里如何设置参数传递的 301 重定向

自从接到【哈哈,笑死我了都,黔驴技穷了都!】一文里提到的代维客户订单,这两天明月就一直在加班加点的重新部署着客户的四个服务器,因为有三个都是 WordPress+WooCommerce 式的电商平台,很是有些费时费力,好在现在基本都搞定了,剩下的就是些细节方面的优化、调整了。期间…

深入了解RSA加密算法

目录 前言 一、什么是RSA? 二、RSA加密的基本概念 1.非对称加密 2.密钥生成 3.加密和解密 三、RSA加密的工作原理 四、RSA的应用场景 五、RSA加密解密的实现 六、RSA算法的局限性及改进措施 前言 在当今的数字化时代,信息的安全性成为了人们关注…

mongodb command

1. start and stop ./mongod --dbpath -dbpath /data/shard1/db --logpath -dbpath /data/shard1/db/logs/mongodb.log --fork mongod --shutdown --dbpath /data/shard1/db MongoDB基础篇-03-启动与关闭_mongodb启动和关闭-CSDN博客 2. 查看分片数据分布 mongo mongo01.c…

C++ | Leetcode C++题解之第160题相交链表

题目: 题解: class Solution { public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {if (headA nullptr || headB nullptr) {return nullptr;}ListNode *pA headA, *pB headB;while (pA ! pB) {pA pA nullptr ? headB : p…

FreeRTOS队列(queue)

队列(queue)可以用于"任务到任务"、 "任务到中断"、 "中断到任务"直接传输信息。 1、队列的特性 1、1常规操作 队列的简化操如下图所示,从此图可知: 队列中可以包含若干数据:队列中有若干项,这…

给客户做WMS培训时,客户说这是什么垃圾系统……

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 在上周的一次WMS系统培训现场,我们遭遇了意想不到的“小插曲”。 当时,培训师小李正热情洋溢地介绍WMS系统的种种优点&am…

使用 PNPM 从零搭建 Monorepo,测试组件并发布

1 目标 通过 PNPM 创建一个 monorepo(多个项目在一个代码仓库)项目,形成一个通用的仓库模板。 这里以在该 monorepo 项目中搭建 web components 类型的组件库为例,介绍从仓库搭建、组件测试到组件发布的整个流程。 这个仓库既可…

ffmpeg封装和解封装介绍-(10)综合完成视频重编码为h265,解封装解码编码再封装

主函数逐句解析: 由于代码太多我们只解析主函数,(其他封装函数见前面文章,同时用到了解码编码封装代码)。 初始化和参数处理 int main(int argc, char* argv[]) {/// 输入参数处理string useage "124_test_x…

教育小程序开发:技术实现与实践案例

随着信息技术的不断进步,教育小程序在教育领域的应用越来越广泛。教育小程序开发不仅可以提高教学效率,还能够提供个性化的学习体验。本文将以技术代码为例,详细介绍教育小程序开发的关键技术和实践案例,帮助开发者更好地理解和实…

鸿蒙应用开发

学习视频: 00.课程介绍_哔哩哔哩_bilibili 官网:开发者文档中心 | 华为开发者联盟 (huawei.com) 开发工具 :DevEcoStudio , 类似Jetbrains 全家桶 ArkTS开发语言 :(基于TS,集成了前端语言&#xf…

奥特曼谈AI的机遇、挑战与人类自我反思:中国将拥有独特的大语言模型

奥特曼在对话中特别提到,中国将在这个领域扮演重要角色,孕育出具有本土特色的大语言模型。这一预见不仅彰显了中国在全球人工智能领域中日益增长的影响力,也预示着未来技术发展的多元化趋势。 ①奥特曼认为AI在提升生产力方面已显现积极作用&…

【JS重点17】原型链(面试重点)

一:原型链底层原理 以下面一段代码为例,基于原型对象(Star构造函数的原型对象)的继承使得不同构造函数的原型对象关联在一起(此处是最大的构造函数Object原型对象),并且这种关联的关系是一种链…

Project ERROR: Unknown module(s) in QT: xlsx

Qt5下Qxlsx模块安装及使用_qt5xlsx-CSDN博客 主要参考上面这篇文章! Perl的安装与配置_perl安装-CSDN博客 1.1 windows环境安装Perl_windows perl-CSDN博客 首先,需要安装Perl,我安装的是Windows版本的。 Download & Install Perl - ActiveStat…

绿色版DirectoryOpus功能强大且高度可定制的Windows文件管理器

Directory Opus(通常简称为DOpus)是一款功能强大且高度可定制的Windows文件管理器。它提供了许多超越Windows默认文件资源管理器(Explorer)的功能,使得文件和文件夹的管理变得更加高效和直观。以下是对Directory Opus的…

如何用Java程序实现一个简单的消息队列?

在Java程序中,可以使用内置的java.util.concurrent.BlockingQueue作为消息队列存放的容器,来实现一个简单的消息队列。 具体实现如下,在这个例子中,我们创建了一个生产者线程和一个消费者线程,他们共享同一个阻塞队列…

Nginx配置详细解释:(4)高级配置

目录 1.网页的状态页 2.Nginx第三方模块(echo) 3.变量 4.自定义访问日志 5.Nginx压缩功能 6.https功能 7.自定义图标 Nginx除了一些基本配置外,还有一些高级配置,如网页的状态,第三方模块需要另外安装,支持变量&#xff0c…

使用了代理IP怎么还会被封?代理IP到底有没有效果

代理IP作为一种网络工具,被广泛应用于各种场景,例如网络爬虫、海外购物、规避地区限制等。然而,很多用户在使用代理IP的过程中却发现自己的账号被封禁,这让他们不禁产生疑问:使用了代理IP怎么还会被封?代理…

Unity接入PS5手柄和Xbox手柄以及Android平台的(以及不同平台分析)

Unity接入PS5手柄和Xbox手柄以及Android平台的(以及不同平台分析) 介绍Unity手柄小知识PC端和编辑器上的摇杆事件和滑动事件PS5手柄Xbox手柄北通手柄 安卓环境下(安卓手机或者安卓模拟器)PS5手柄Xbox手柄北通手柄 总结 介绍 最近…

Scala网络编程:代理设置与Curl库应用实例

在网络编程的世界里,Scala以其强大的并发模型和函数式编程特性,成为了开发者的得力助手。然而,网络请求往往需要通过代理服务器进行,以满足企业安全策略或访问控制的需求。本文将深入探讨如何在Scala中使用Curl库进行网络编程&…

消息队列-RabbitMQ-延时队列实现

死信队列 DLX,全称为Dead-Letter-Exchange,死信交换机,死信邮箱。当消息在一个队列中变成死信之后,它能重新发送到另外一个交换器中,这个交换器就是DLX,绑定DLX的队列就称为死信队列。 导致死信的几种原因: ● 消息…