【干货】一步步带你搭建ComfyUI + Flux.1

FLUX.1 AI 是由Black Forest Labs 团队开发的具有革命性的文本生成图像大模型。它运用了众多的新技术和方法,能够将用户输入的文本描述转化为高清晰度、富有创意的图像。用户可以根据不同的需求选择生成的图像风格,例如写实、抽象、卡通、科幻等。此外,FLUX.1 支持多种输出格式,适用于广告、设计、社交媒体等多个领域。套件包括三个模型,按性能由高到低排列为:FLUX.1 [pro] ,FLUX.1 [dev],FLUX.1 [schnell]。

ComfyUI 是一个功能强大、灵活且模块化的图像生成用户界面,特别适合那些希望精确控制图像生成过程的用户。通过其可视化工作流设计,用户能够轻松构建和调整复杂的图像生成管线,使得图像生成变得更加直观和高效,在实际应用中它往往是文生图模型的载体。

本篇将为各位同学讲解如何在你的电脑上搭建ComfyUI + Flux.1,让你免费踏入AI 炼图的自由世界。由于ComfyUI 团队在10月22日发布了 ComfyUI V1一键安装包,并且开始内测,目前支持Windows 和 MacOS 系统,有兴趣的同学可以去官网:https://www.comfy.org/waitlist?ref=blog.comfy.org , 申请内测资格。剩下的Liunx用户,搭建这套系统就更具挑战性了,大家可以跟随以下内容一步步搭建属于自己的AI绘图系统。

01

部署ComfyUI

要在本地顺利运行ComfyUI + FLUX.1 我建议系统要求:显卡 nvidia RTX3080 以上,显存>12G,CUDA版本>=11.8,硬盘空间 > 50G, 内存 >= 16G , 系统要求有点高,毕竟大模型需要跑起来,要不买云服务器也是推荐的。

1. 克隆 ComfyUI

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

2. 安装Miniconda

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py311_24.7.1-0-Linux-x86_64.sh

下载完成后安装。

bash Miniconda3-py311_24.7.1-0-Linux-x86_64.sh

安装过程中,需要按 Enter 键查看许可证条款,阅读完毕后输入 yes 接受条款,安装完成后,脚本会询问是否初始化 conda 环境,输入 yes 并按 Enter 键。

验证,执行以下指令验证安装

conda --version

激活miniconda

source ~/miniconda3/bin/activate

3. 创建虚拟环境

安装Miniconda的目的就是要为python运行创建虚拟环境,以解决包的依赖问题。

conda create --name ComfyUI python=3.12``conda activate ComfyUI

4. 安装 pytorch

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

5. 安装 ComfyUI 的依赖包

pip install -r requirements.txt

以上4.5步需要下载很多大文件,需时较长,大家安装过程中耐心等待,如网络原因中断了,可以重来,我断断续续的装了差不多4个小时,至此 ComfyUI 安装完成。

02

下载FLUX.1 模型

国内用户,我推荐去魔塔社区:https://modelscope.cn/home下载模型,速度较快,无需用 key 授权,基本与hugging face结构相同。

1 . Flux.1系列模型有三个:Flux.1[pro]是闭源的,可以从官方 API 申请访问权限,同时支持企业定制。Flux.1[dev]开源,不可商用,直接从 FLUX.1 [pro] 蒸馏而来,具备相似的图像质量和提示词遵循能力,但是更高效。Flux.1[schnell]:开源模型,可商用,专门为本地开发和个人使用量身定制,生成速度最快,内存占用也最小,我们先选择 Flux.1[schnell] 下载

进入 FLUX.1-schnell 页面后,点模型文件,下载两个文件flux1-schnell.safetensorsSafetensors 和 ae.safetensors,见下图:

  1. 下载Clip模型

搜索 flux_text_encoders ,进入flux_text_encoders 页面,点模型文件,下载两个文件 clip_l.safetensors 和 t5xxl_fp16.safetensors ,见下图:

下载clip_l和t5xxl模型,其中t5xxl模型有两个,根据自己的显卡情况二选一下载(如果你有超过 16GB 的 显存,建议使用 fp16)。

3. 把以上4个文件放入对应的ComfyUI文件夹中:

flux1-schnell.safetensorsSafetensors 放入 /ComfyUI/models/unet/

ae.safetensors 放入 /ComfyUI/models/vae/

clip_l.safetensors 放入 ComfyUI/models/clip/

t5xxl_fp16.safetensors 放入 ComfyUI/models/clip/

4. 下载工作流

打开ComfyUI_examples :https://comfyanonymous.github.io/ComfyUI_examples/flux/ , 看到此图后把图像拖入ComfyUI的界面中,就会生成工作流。另外也可以搜索现成的Flux.1-schnell工作流文件, 下载后用页面的 “LOAD” 按钮加载。

03

运行

通过以上配置,应该可以正常运行ComfyUI + Flux.1-schnell 了,在终端中运行以下指令:

python3 main.py

如果看到提示:

/home/*******/miniconda3/envs/ComfyUI/lib/python3.12/site-packages/kornia/feature/lightglue.py:44:

FutureWarning: `torch.cuda.amp.custom_fwd(args…)` is deprecated. Please use `torch.amp.custom_fwd(args…, device_type=‘cuda’)` instead.

根据提示,我们更改一下代码,打开:/home/******/miniconda3/envs/ComfyUI/lib/python3.12/site-packages/kornia/feature/lightglue.py 文件,

44行改成:

@torch.amp.custom_fwd(cast inputs=touch.float32, device_type='cuda')

然后重新执行

python3 main.py
Import times for custom nodes:`   `0.0 seconds: /home/tommy/ComfyUI/custom_nodes/websocket_image_save.py``   ``   ``Starting server``   ``   ``To see the GUI go to: http://127.0.0.1:8188

看到以上信息,可以就用浏览器打开 :http://127.0.0.1:8188

打开ComfyUI页面后,记得先按之前的方法加载工作流。

然后就可以畅快地进行你的AI绘图创作之旅了。

为了帮助大家更好地掌握 ComfyUI,我在去年花了几个月的时间,撰写并录制了一套ComfyUI的基础教程,共六篇。这套教程详细介绍了选择ComfyUI的理由、其优缺点、下载安装方法、模型与插件的安装、工作流节点和底层逻辑详解、遮罩修改重绘/Inpenting模块以及SDXL工作流手把手搭建。

由于篇幅原因,本文精选几个章节,详细版点击下方卡片免费领取
在这里插入图片描述

一、ComfyUI配置指南

  • 报错指南
  • 环境配置
  • 脚本更新
  • 后记

img

二、ComfyUI基础入门

  • 软件安装篇
  • 插件安装篇

img

三、 ComfyUI工作流节点/底层逻辑详解

  • ComfyUI 基础概念理解
  • Stable diffusion 工作原理
  • 工作流底层逻辑
  • 必备插件补全

img

四、ComfyUI节点技巧进阶/多模型串联

  • 节点进阶详解
  • 提词技巧精通
  • 多模型节点串联

img

五、ComfyUI遮罩修改重绘/Inpenting模块详解

  • 图像分辨率
  • 姿势

img

六、ComfyUI超实用SDXL工作流手把手搭建

  • Refined模型
  • SDXL风格化提示词
  • SDXL工作流搭建

img

由于篇幅原因,本文精选几个章节,详细版点击下方卡片免费领取
在这里插入图片描述

img

### ComfyUI 中 Redux 节点的功能介绍 在 ComfyUI 的工作流框架内,Redux 节点扮演着至关重要的角色。作为 Flux 工具集的一部分,Redux 主要用于提供对图像处理流程中的状态管理和控制能力[^3]。 #### Redux 节点的核心作用 - **状态管理**:Redux 提供了一种集中化的方式来进行应用的状态管理。这使得开发者能够更容易地追踪和调试应用程序的行为。 - **可预测性增强**:通过引入中间件机制,Redux 可以确保所有的状态变更都是显式的,并遵循预定义的路径,从而提高了系统的稳定性和可靠性[^2]。 #### 使用方法详解 为了更好地理解如何使用 Redux,在实际操作中通常会涉及到以下几个方面: 1. **初始化配置** 开始前需安装必要的依赖库并设置初始参数。对于大多数情况而言,默认配置已经足够满足基本需求;但对于特定应用场景,则可能需要自定义一些选项来适应具体业务逻辑的要求。 2. **创建 Action** Actions 是触发 state 更新的动作对象。它们携有关即将发生的变化的信息给 reducers 进行处理。例如当用户上传一张新图片时就会派发相应的 action 来通知系统有新的数据到来。 3. **编写 Reducer 函数** Reducers 定义了针对不同类型的 actions 应该如何修改当前的应用程序状态。每个 reducer 接收两个参数——先前的状态以及本次接收到的action ,然后返回一个新的状态副本而不是直接改变旧的状态。 4. **连接组件与 Store** 将 UI 组件同 store 关联起来以便于获取最新的状态信息并向外分发actions 。这样做的好处是可以让视图层自动响应任何底层的数据变动而无需手动刷新页面。 5. **高级特性运用** 利用 middleware 实现异步操作的支持或是日志记录等功能扩展。此外还可以考虑采用 selector 技术提高性能表现,减少不必要的重新渲染次数。 ```javascript // 创建简单的 Redux store 示例代码 import { createStore } from 'redux'; function counterReducer(state = { count: 0 }, action) { switch (action.type) { case 'INCREMENT': return { ...state, count: state.count + 1 }; default: return state; } } const store = createStore(counterReducer); console.log(store.getState()); store.dispatch({ type: 'INCREMENT' }); console.log(store.getState()); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值