政安晨【零基础玩转各类开源AI项目】基于Ubuntu系统部署ComfyUI:功能最强大、模块化程度最高的Stable Diffusion图形用户界面和后台

目录

ComfyUI的特性介绍

开始安装

做点准备工作

在Conda虚拟环境中进行

依赖项的安装

运行


政安晨的个人主页:政安晨

欢迎 👍点赞✍评论⭐收藏

收录专栏: 零基础玩转各类开源AI项目

希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正!

这套框架可让您使用基于图形/节点/流程图的界面设计和执行高级稳定扩散管道。

ComfyUI的特性介绍

当你对它形成了全貌,安装与使用的时候会更加得心应手。

特性如下:

- 节点/图形/流程图界面,用于实验和创建复杂的稳定扩散工作流程,无需编写任何代码。

- 完全支持 SD1.x, SD2.x, SDXL, Stable Video Diffusion, Stable Cascade, SD3 and Stable Audio

- 异步队列系统

- 许多优化只重新执行工作流程中在两次执行之间发生变化的部分。

- 智能内存管理:可在低至 1GB vram 的 GPU 上自动运行模型。

- 即使没有 GPU 也能使用:--cpu(慢速)

- 可加载 ckpt、安全传感器和扩散器模型/检查点。独立的 VAE 和 CLIP 模型。

- 嵌入/文本反转

- Loras (regular, locon and loha)

- Hypernetworks

- 从生成的 PNG、WebP 和 FLAC 文件中加载完整的工作流程(带种子)。

- 以 Json 文件格式保存/加载工作流程。

- 节点界面可用于创建复杂的工作流程,如 "Hires fix "或更高级的工作流程。

- 地区构成

- 使用常规模型和 Inpainting 模型进行 Inpainting。

- ControlNet and T2I-Adapter

- Upscale Models (ESRGAN, ESRGAN variants, SwinIR, Swin2SR, etc...)

- unCLIP Models

- GLIGEN

- Model Merging

- LCM models and Loras

- SDXL Turbo

- 使用 TAESD 进行潜伏预览

- 启动速度非常快。

- 完全脱机运行:不会下载任何内容。

开始安装

下载仓库:

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

当然,这里我为了修改方便,fork到了自己的github中,名称上稍有差异,大家自己酌情处理。

为咱们即将安装的ComfyUI工作流框架建立conda虚拟环境,python版本先选择3.9 , 如下:

conda create -n zac_comfyui python=3.9

做点准备工作

进入刚才下载的项目目录,干两件事:

1, 将 SD checkpoints (巨大的 ckpt/safetensors 文件)放到:models/checkpoints中;

2, 将 VAE 放到这个目录中:models/vae

具体操作如下:

# Checkpoints

### SDXL
### I recommend these workflow examples: https://comfyanonymous.github.io/ComfyUI_examples/sdxl/

#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/


# SD1.5

#!wget -c https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt -P ./models/checkpoints/

# SD2
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1/resolve/main/v2-1_768-ema-pruned.safetensors -P ./models/checkpoints/

# Some SD1.5 anime style
#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix2/AbyssOrangeMix2_hard.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A1_orangemixs.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A3_orangemixs.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/Linaqruf/anything-v3.0/resolve/main/anything-v3-fp16-pruned.safetensors -P ./models/checkpoints/

# Waifu Diffusion 1.5 (anime style SD2.x 768-v)
#!wget -c https://huggingface.co/waifu-diffusion/wd-1-5-beta3/resolve/main/wd-illusion-fp16.safetensors -P ./models/checkpoints/


# unCLIP models
#!wget -c https://huggingface.co/comfyanonymous/illuminatiDiffusionV1_v11_unCLIP/resolve/main/illuminatiDiffusionV1_v11-unclip-h-fp16.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/comfyanonymous/wd-1.5-beta2_unCLIP/resolve/main/wd-1-5-beta2-aesthetic-unclip-h-fp16.safetensors -P ./models/checkpoints/

这些 Checkpoints大家选择使用。

# VAE
!wget -c https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors -P ./models/vae/
#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/VAEs/orangemix.vae.pt -P ./models/vae/
#!wget -c https://huggingface.co/hakurei/waifu-diffusion-v1-4/resolve/main/vae/kl-f8-anime2.ckpt -P ./models/vae/

选择一个你需要的VAE,也可以去https://huggingface.co上查看最新的,checkpoints也是一样。

比如,查看models:https://huggingface.co/stabilityai

在该模型页面,您可以看到下载链接:

这里咱们选择SDXL的checkpoints:

wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/

VAE我们选择这个:

wget -c https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors -P ./models/vae/

完成后,咱们开始正式安装。

在Conda虚拟环境中进行

conda activate zac_comfyui

本文档基于N卡来安装(没有符合标准的N卡的同学,建议先缓一缓,折腾一圈浪费时间没必要,所以基于A卡的情况我也就不做展示了,我以前基于A卡做了很多尝试,结果不好,各种问题都有可能出现,尤其是基于ubuntu系统):

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

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

 

使用此命令安装 pytorch nightly,性能可能会有所提高:

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

 

这是个补充操作,我已经都ok了,继续。 

疑难解答 如果出现 "Torch not compiled with CUDA enabled"(Torch 未在启用 CUDA 的情况下编译)错误,请使用: pip uninstall torch(卸载命令)卸载,然后使用上述命令重新安装。

依赖项的安装

在 ComfyUI 文件夹中打开终端,安装依赖项,然后:

pip install -r requirements.txt

安装完成后,你就可以继续运行 ComfyUI 了。

注:当然,全程安装过程中要准备好您的上网能力,网不能断,谢谢。

运行

执行命令:

python main.py

顺利的话,接下来就是您需要的:

祝您好运!

以后的一切都可以基于comfyUI的各种教程开始啦!

再说一句:如果需要多人远程使用,启动服务时的命令为:

python main.py --multi-user

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Rust vs Go: 特点与应用场景分析

目录 介绍Rust的特点Go的特点Rust的应用场景Go的应用场景总结 介绍 Rust和Go(Golang)是现代编程语言中两个非常流行的选择。凭借各自的独特优势和广泛的应用场景,吸引了大量开发者的关注。本文将详细介绍Rust和Go的特点,并探讨它…

【理解串】

目录 一、串的基本概念二、串的基本操作及实现三、串的存储实现3.1、静态数组实现3.2、动态数组实现 四、串的朴素模式匹配4.1、算法思想4.2、代码实现 五、KMP算法5.1、算法思想5.2、求模式串的next数组5.2、代码实现 一、串的基本概念 串:即字符串(st…

一行命令快速导出、导入Python的依赖环境(Python)

文章目录 一、pip1、导出2、导入 二、Conda(简)1、导出1、导入 一、pip 1、导出 在Pycharm的Terminal窗口输入如下命令,即可将环境导出至文件requirements.txt。 pip freeze > C:\Users\sdl\Deskto\requirements.txt也可以在DOS界面执行…

Python 核心编程

Python 核心编程 1. 数据类型1.1 整型 int1.2 浮点数 float1.3 布尔类型 bool1.4 字符串 str1.5 列表 list1.6 元组 tuple1.7 集合 set1.8 字典 dict 2. 逻辑结构、文件操作2.1 分支结构和三元表达2.2 循环和遍历2.3 目录和路径2.4 文件操作 3. 函数、类、异常处理3.1 函数3.2 …

[Flask笔记]一个完整的Flask程序

前面讲过Flask是一个轻量级Web开发框架,为什么说是轻量级的呢,因为它用短短几行代码就能运行起来,我们一起来看看最简单的flask框架。 安装Flask 在看Flask框架之前我们需要先安装flask模块,学过python的肯定都知道,…

2.5 计算机网络

声明:文章参考的《系统架构设计师教程(第二版)》,如有侵权,本人将立即修改和删除。 利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,并依靠网络软件以及通信协议实现…

《昇思25天学习打卡营第18天|onereal》

RNN实现情感分类 概述 情感分类是自然语言处理中的经典任务,是典型的分类问题。本节使用MindSpore实现一个基于RNN网络的情感分类模型,实现如下的效果: 输入: This film is terrible 正确标签: Negative 预测标签: Negative输入: This film…

Android数据库基础

目录 1、安卓数据存储方式 2、数据库事务 数据库事务的特性(ACID) 事务的隔离级别 事务总结 3、ContetProvider 作用 ​编辑 统一资源标识符URI ​编辑 MIME类型 ContentProvider主要方法 4、ContentResolver 作用 主要方法 使用案例 辅助工具类 ContentUris Uri…

matlab 有倾斜的椭圆函数图像绘制

matlab 有倾斜的椭圆函数图像绘制 有倾斜的椭圆函数图像绘制xy交叉项引入斜线负向斜线成分正向斜线成分 x^2 y^2 xy 1 (负向)绘制结果 x^2 y^2 - xy 1 (正向)绘制结果 有倾斜的椭圆函数图像绘制 为了确定椭圆的长轴和短轴的…

torchplus

https://gitee.com/hj_research/torchplus 一、安装 pip install tplus

Linux磁盘-创建分区

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux磁盘涉及到的命令不是很多,但是在实际运维中的作用却很大,因为Linux系统及业务都会承载到硬盘…

评估指标:精确率(Precision)、召回率(Recall)、F1分数(F1 Score)

评估指标:精确率(Precision)、召回率(Recall)、F1分数(F1 Score) 前言相关介绍1. 准确率(Accuracy)2. 精确率(Precision)3. 召回率(Re…

君子签电子合同推动企业人事管理变革,降本提效

在日益复杂的人力资源管理领域,合同签署与管理成为HR面临的一大挑战。面对庞大的合同量、繁琐的审批流程、频繁的岗位变动以及离职时的合同管理难题,传统方式已难以满足高效、安全、合规的需求。 君子签针对HR面临的挑战和需求,打造智能合同…

Alertmanager告警配置

1、告警概述及说明 告警能力在Prometheus的架构中被划分成两个独立的部分。 通过在Prometheus中定义AlertRule(告警规则),Prometheus会周期性的对告警规则进行计算,如果满足告警触发条件就会向Alertmanager发送告警信息。 当Alertmanager接收到 Promethe…

java项目如何配置不同环境变量 以及 原理

如何配置不同的profile 首先,一个java项目,需要有不同的环境配置,打包时,自动使用对应的配置。那么,如何实现呢? 在你的Spring Boot项目的src/main/resources目录下创建或添加一个application.yml文件。这…

2024前端面试题之Vue3

2024前端面试题之Vue3 在面试具有五年经验的前端工程师时,对于 Vue 3 的掌握程度是一个重要的考核点。本文将提供一系列针对这一级别工程师的 Vue 3 面试题,并附上详细的解析,帮助面试官全面评估候选人的技术实力和项目经验。 一、Vue 3 基础…

科普文:微服务之服务网格Service Mesh

一、ServiceMesh概念 背景 随着业务的发展,传统单体应用的问题越来越严重: 单体应用代码库庞大,不易于理解和修改持续部署困难,由于单体应用各组件间依赖性强,只要其中任何一个组件发生更改,将重新部署整…

shell脚本之if/case语句

一、条件测试 1、1 返回码 $? $? :返回码,用来判断命令或者脚本是否执行成功。 0 :表示true ,成功;非0 则表示flase ,失败。 1、2 test命令 可以进行条件测试,然后根据返回值来判断条件是否成立 -e…

第2关 Python 基础知识

第2关 Python 基础知识 前言Python实现wordcountSSH远程连接开发机Bug记录 前言 本文是由上海人工智能实验室主办的第三期书生大模型实战营的笔记,仅供个人和助教批改作业参考,教程原文链接。 报名请在微信搜索“第三期书生大模型实战营”。 本笔记是在…

BatchNorm LayerNorm

0. Abstract 很早以前就遇到了 BatchNorm 和 LayerNorm, 当时只是粗略地知道它们是对数据进行了标准化: x x − μ σ \bm{x} \frac{\bm{x} - \bm{\mu}}{\bm{\sigma}} xσx−μ​ 这当然很简单, 但实际的数据是比较复杂的. 对于 CV 任务的数据 image 而言, 一个 batch 的数…