当前位置: 首页 > news >正文

ComfyUI - 在服务器中部署 AIGC 绘画的 ComfyUI 工具 教程

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/141140498

免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。


ComfyUI

ComfyUI 是功能强大且高度模块化的 AI 绘画工具,基于 Stable Diffusion 技术,采用节点式工作流界面,使用户能够更直观地控制图像生成过程。特点是模块化设计,允许用户通过拖放节点来创建和调整工作流,极大地提高了灵活性和可定制性。速度更快,灵活的组建工作流,专业团队的需求,节点式编辑。

GitHub: https://github.com/comfyanonymous/ComfyUI

git clone https://github.com/comfyanonymous/ComfyUI

配置 conda 环境

conda create -n comfyui python=3.9
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
pip install numpy==1.26.4

Numpy 必须是 1.x 版本,否则报错:

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.1 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.

安装其他库:

pip install -r requirements.txt

启动任务,默认端口是 8188:

python3 main.py --listen 0.0.0.0
# nohup python3 -u main.py --listen 0.0.0.0 > nohup.run_main.out &
# ps -aux | grep "main.py"
# kill -9 [pid]

启动成功的日志,例如 http://[your ip]:8188/:

Total VRAM 81052 MB, total RAM 1031523 MB
pytorch version: 1.13.1+cu117
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA A100-SXM4-80GB : 
Using sub quadratic optimization for cross attention, if you have memory or speed issues try using: --use-split-cross-attention
[Prompt Server] web root: workspace_comfyui/ComfyUI/webImport times for custom nodes:0.0 seconds: workspace_comfyui/ComfyUI/custom_nodes/websocket_image_save.pyStarting serverTo see the GUI go to: http://0.0.0.0:8188

ComfyUI 启动成功:

ComfyUI

ComfyUI 支持复用 Stable Diffusion WebUI 的配置,修改 extra_model_paths.yaml

a111:base_path: workspace/stable_diffusion_webui/checkpoints: models/Stable-diffusionconfigs: models/Stable-diffusionvae: models/VAEloras: |models/Loramodels/LyCORISupscale_models: |models/ESRGANmodels/RealESRGANmodels/SwinIRembeddings: embeddingshypernetworks: models/hypernetworkscontrolnet: extensions/sd-webui-controlnet/models

注意:需要修改 controlnet 的默认模型路径,这个部分与默认不一致,其他逐个验证即可。

workspace_comfyui/ComfyUI/custom_nodes 文件夹中,安装自定义 ComfyUI-Manager 插件:

  • ComfyUI-Manager: https://github.com/ltdrdata/ComfyUI-Manager

custom_nodes

第 1 次启动时,需要等待安装配置,## ComfyUI-Manager: installing dependencies. (GitPython)

安装翻译插件:AIGODLIKE-ComfyUI-Translation,重启服务即可:

cd custom_nodes
git clone https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translation.git

将 ComfyUI 页面翻译成中文:

ComfyUI

点击 Queue Prompt,即可运行程序。

Queue Prompt

提示词:

  • beautiful scenery nature glass bottle landscape, purple galaxy bottle,
  • 美丽的风景自然玻璃瓶景观,紫色银河瓶。

如图所示:

Image

运行报错:

  File "workspace_comfyui/ComfyUI/custom_nodes/ComfyUI-Manager/glob/manager_server.py", line 1710, in <lambda>threading.Thread(target=lambda: asyncio.run(default_cache_update())).start()File "envs/comfyui/lib/python3.9/asyncio/runners.py", line 44, in runreturn loop.run_until_complete(main)File "aiohttp/client_reqrep.py", line 1014, in startself._continue = NoneFile "aiohttp/helpers.py", line 713, in __exit__raise asyncio.TimeoutError from None
asyncio.exceptions.TimeoutError

原因是 GitHub 国内访问异常,使用代理即可,参考源码 ComfyUI-Manager/glob/manager_server.py#1688,即:

async def default_cache_update():async def get_cache(filename):# uri = 'https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/' + filenameuri = 'https://mirror.ghproxy.com/https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/' + filenamecache_uri = str(core.simple_hash(uri)) + '_' + filenamecache_uri = os.path.join(core.cache_dir, cache_uri)json_obj = await core.get_data(uri, True)with core.cache_lock:with open(cache_uri, "w", encoding='utf-8') as file:json.dump(json_obj, file, indent=4, sort_keys=True)print(f"[ComfyUI-Manager] default cache updated: {uri}")a = get_cache("custom-node-list.json")b = get_cache("extension-node-map.json")c = get_cache("model-list.json")d = get_cache("alter-list.json")e = get_cache("github-stats.json")await asyncio.gather(a, b, c, d, e)threading.Thread(target=lambda: asyncio.run(default_cache_update())).start()

修改 uri,增加 https://mirror.ghproxy.com/ 前缀,即可

参考:https://github.com/runningcheese/MirrorSite

相关文章:

ComfyUI - 在服务器中部署 AIGC 绘画的 ComfyUI 工具 教程

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/141140498 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 ComfyU…...

MySQL中的distinct和group by哪个效率更高?

前言 大家好&#xff0c;我是月夜枫~~ 一、distinct和group by的区别 1.1.作用方式和应用场景 ‌group by和‌distinct的主要区别在于它们的作用方式和应用场景。 group by用于对数据进行分组和聚合操作&#xff0c;通常与聚合函数&#xff08;如COUNT、SUM、AVG等&#xf…...

STM32F103C8T6单片机原理图设计(PCB板)

先了解了以下stm32f103c8t6的引脚使用&#xff1a; 对比过一些原理图&#xff0c;我发现除了特定协议的引脚功能&#xff0c;只要功能正确&#xff0c;可以自己选择连接对应的引脚。可以根据使用的LED/BEEP/DHT11/BH1750/ESP8266等模块的功能对应相应的引脚&#xff1a; WIFI(…...

Qt自定义控件:关于大佬“飞扬青云“的自定义UI控件的使用教程(MinGw,MSVC)

前言 最近在搞自定义控件&#xff0c;无意间发现大佬飞扬青云的开源项目&#xff0c;Qt/C编写超精美自定义控件 这里先贴出大佬项目地址和博客 码云&#xff1a;wwlzq5/qucsdk (gitee.com)&#xff08;旧版下载地址Qt4.7到Qt5.14&#xff09; github&#xff1a;https://git…...

关于RCE

什么是RCE&#xff1f; RCE漏洞&#xff0c;可以让攻击者直接向后台服务器远程注入操作系统命令或者代码&#xff0c;从而控制后台系统。也就是远程命令执行。命令执行是在目标服务器上任意执行系统命令。它属于高危漏洞之一&#xff0c;也属于代码执行的范畴。命令执行漏洞与…...

深入理解npm:从入门到精通

1. npm 简介 npm&#xff08;Node Package Manager&#xff09;是 Node.js 生态系统中的核心组件&#xff0c;它不仅是一个包管理器&#xff0c;还是一个强大的开发工具和庞大的开源社区。自2010年首次发布以来&#xff0c;npm 已经成为世界上最大的软件注册表&#xff0c;拥有…...

Docker入门教程:10分钟掌握基础

Docker入门教程&#xff1a;10分钟掌握基础 1. Docker是什么&#xff1f; Docker是一种容器化技术&#xff0c;它允许开发者打包他们的应用以及应用的依赖环境到一个可移植的容器中&#xff0c;这个容器可以在任何支持Docker的操作系统上运行。 2. Docker的基本组成 镜像&a…...

NLP实验-基于预训练模型的文本分类

使用BERT及其变体实现AclImdb情感分类 前言数据集介绍【Hugging Face】使用方法和如何挑选一个自己需要的模型 基于BERT预训练模型的本文分类数据预处理载入文本标记器将数据转化为模型可以接受的格式训练模型加载模型 基于RoBerta预训练模型的文本分类基于DeBerta预训练模型的…...

Table API SQL的概念和通用API

目录 表API和SQL程序的结构 创建表环境(Create a TableEnvironment) 在目录中创建表(Create Tables in the Catalog) 临时表与永久表(Temporary vs Permanent tables) 遮蔽(Shadowing) 创建表(Create a Table) 连接器表(Connector Tables) 虚拟表(Virtual…...

【网络】UDP和TCP之间的差别和回显服务器

文章目录 UDP 和 TCP 之间的差别有连接/无连接可靠传输/不可靠传输面向字节流/面向数据报全双工/半双工 UDP/TCP API 的使用UDP APIDatagramSocket构造方法方法 DatagramPacket构造方法方法 回显服务器&#xff08;Echo Server&#xff09;1. 接收请求2. 根据请求计算响应3. 将…...

Electron:摄像头录制和屏幕录制

摄像头录制 main.js const { app, BrowserWindow} require(electron)let mainWin null const createWindow () > {mainWin new BrowserWindow({width: 800,height: 600,title: 自定义菜单,webPreferences: {// 允许渲染进程使用nodejsnodeIntegration: true,// 允许渲…...

【uniapp】vue3+vite配置tailwindcss

安装 npm install autoprefixer tailwindcss uni-helper/vite-plugin-uni-tailwind -Dautoprefixer &#xff1a;自动管理浏览器前缀的插件&#xff0c;可以解析css文件并且添加前缀到css内容里。uni-helper/vite-plugin-uni-tailwind: 将 Tailwind CSS 框架集成到使用 Vite 作…...

从源码到应用:医疗陪诊系统与在线问诊小程序开发详解

在数字化医疗时代&#xff0c;医疗陪诊系统与在线问诊小程序的开发成为了医疗机构和技术公司关注的焦点。接下来&#xff0c;小编将与您一同深入了解。 一、医疗陪诊系统的核心功能 医疗陪诊系统旨在为患者提供更贴心的医疗服务&#xff0c;通过专业人员陪同患者完成就医过程。…...

mysql数据库中decimal数据类型比较大小

在MySQL中&#xff0c;DECIMAL数据类型用于存储精确的数值&#xff0c;它非常适合用于需要高精度计算的场景&#xff0c;如金融应用。当我们需要在MySQL数据库中比较DECIMAL类型数据的大小时&#xff0c;可以使用标准的比较运算符&#xff0c;如>, <, >, <, 和 &l…...

掌控库存,简化管理 — InvenTree 开源库存管理系统

InvenTree &#xff1a;简化您的库存管理&#xff0c;让效率和控制力触手可及。- 精选真开源&#xff0c;释放新价值。 概览 InvenTree&#xff0c;一款专为精细化库存管理而设计的开源系统&#xff0c;以其高效和灵活性在众多库存管理工具中脱颖而出。它以Python和Django框架…...

Linux---项目自动化构建工具-make/Makefile

一、背景 会不会写makefile&#xff0c;从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文件不计数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;makefile定义了一系列的 规则来指定&#xff0c;哪些文件需要先编译&#xff0c;哪些文件…...

嘉立创EDA个人学习笔记1(PCB板介绍)

前言 本篇文章属于嘉立创EDA的学习笔记&#xff0c;来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记&#xff0c;只能做参考&#xff0c;细节方面建议观看视频&#xff0c;肯定受益匪浅。 嘉立创EDA-PCB设计零基础入门课程&#xff08;54集全&#xff09;_…...

(转)Restful接口设计(1)

.representational&#xff1a;代表性的 URI&#xff08;Universal Resouce Identifier&#xff09;&#xff1a;Universal &#xff1a;普遍的;共同的。Identifier&#xff1a;标识符。统一资源标识符。 31-RESTful接口介绍-02_哔哩哔哩_bilibili 31-RESTful接口介绍-03_哔哩…...

Python进阶之3D图形

Python进阶之3D图形 在数据可视化中&#xff0c;2D图形通常可以满足大多数需求。然而&#xff0c;对于一些复杂的数据或分析&#xff0c;3D图形可以提供更多的视角和洞察。在Python中&#xff0c;使用 Matplotlib 和 Plotly 等库可以轻松创建各种3D图形。本文将介绍如何使用这…...

机器学习深度学习中的搜索算法浅谈

机器学习&深度学习中的搜索算法浅谈 搜索算法是计算机科学中的核心算法&#xff0c;用于在各种数据结构&#xff08;如数组、列表、树、图等&#xff09;中查找特定元素或信息。这些算法不仅在理论上具有重要意义&#xff0c;还在实际应用中扮演着关键角色。本文将详细探讨…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开&#xff0c;快捷键也不好用&#xff0c;当看到 Cursor 升级后&#xff0c;还是蛮高兴的 1. 下载 Cursor 下载地址&#xff1a;https://www.cursor.com/cn/downloads 点击下载 Linux (x64) &#xff0c;…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题&#xff0c; 因为搜索范围是有界的&#xff0c;上界最大木板长度补充的全部木料长度&#xff0c;下界最小木板长度&#xff1b; 即left0,right10^6; 我们可以设置一个候选值x(mid)&#xff0c;将木板的长度全部都补充到x&#xff0c;如果成功…...