Skip to content

FLUX.1+ComfyUI部署与使用

FLUX.1简介

image-20240814170045204

FLUX.1是由黑森林实验室(Black Forest Labs)开发,分为3个版本:

  • 【闭源】FLUX.1-pro:FLUX.1中的最顶级的性能,提供最先进的图像生成能力,具有顶级提示词识别能力、视觉质量、图像细节和输出多样性。目前可以通过官方API访问,也提供企业定制化服务。
  • 【开源不可商用】FLUX.1-dev:直接从FLUX.1-pro提炼而来,FLUX.1-dev获得了类似的质量和提示词能力,同时比相同大小的标准模型更高效。
  • 【开源可商用】FLUX.1-schnell:专为本地开发和个人使用量身定制的,在Apache2.0许可下公开可用。它在生成速度上具有明显优势,同时对内存的占用也是最小的。

根据官方资料:FLUX.1模型的训练参数达到了120亿,这一数字远远超过了SD3 Medium的20亿参数。无论是FLUX.1-pro还是FLUX.1-dev,在图像质量、提示词的准确跟随、尺寸适应性、排版以及输出的多样性方面,都已经超越了市场上的Midjourney v6.0、DALL·E 3 (HD)和SD3-Ultra等流行模型,确立了图像合成技术的新高度。

部署流程

创建资源

进入控制台-GPU云实例,点击创建实例:

image-20240813133929171

进入创建页面后,首先在实例配置中选择付费类型,一般短期需求可以选择按量付费或者包日,长期需求可以选择包月套餐;

其次选择GPU数量和需求的GPU型号,首次创建实例推荐选择:

  • 按量付费
  • GPU数量1
  • NVIDIA-GeForc-RTX-4090:该配置为60GB内存,24GB的显存(本次测试的LLaMA3.1 8B 版本至少需要GPU显存16G)

接下来配置数据硬盘的大小,每个实例默认附带了50GB的数据硬盘,FLUX.1模型较大,建议扩容至150GB。

image-20240814171213054

继续选择安装的镜像,平台提供了一些基础镜像供快速启动,镜像中安装了对应的基础环境和框架,可通过勾选来筛选框架,这里筛选PyTorch,选择PyTorch 2.4.0。

image-20240813134220955

为保证安全登录,创建密钥对,输入自定义的名称,然后选择自动创建并将创建好的私钥保存的自己电脑中,以便后续本地连接使用。

image-20240813134240089

创建好密钥对后,选择刚刚创建好的密钥对,并点击立即创建,等待一段时间后即可启动成功!

image-20240813134249957

登录实例

接下来将基于平台提供的JupyterLab工具,演示fp16版本的部署流程。

首先,启动JupyterLab,并创建终端:

image-20240814134424850

image-20240814134628234

部署ComfyUI

在终端中执行以下命令克隆ComfyUI代码:

bash
# github官方代码仓库
git clone https://github.com/comfyanonymous/ComfyUI.git
# gitCode-github加速计划代码仓库
git clone https://gitcode.com/gh_mirrors/co/ComfyUI.git

克隆完成后可看到如下目录:

终端进入/root/workspace/ComfyUI目录,执行以下命令,安装ComfyUI需要的依赖:

bash
cd ComfyUI/
pip install -r requirements.txt --ignore-installed

执行以下命令,启动ComfyUI:

bash
python main.py --listen

image-20240814160634416

看到服务成功启动,说明ComfyUI部署成功!

提示

您如果遇到报错

bash
ImportError: version conflict: '/opt/conda/lib/python3.11/site-packages/psutil/_psutil_linux.cpython-311-x86_64-linux-gnu.so' C extension module was built for another version of psutil (5.9.0 instead of 6.0.0); you may try to 'pip uninstall psutil', manually remove /opt/conda/lib/python3.11/site-packages/psutil/_psutil_linux.cpython-311-x86_64-linux-gnu.so or clean the virtual env somehow, then reinstall

可先卸载冲突包,再次安装依赖

bash
pip uninstall psutil
pip install -r requirements.txt --ignore-installed

部署FLUX.1

推荐您阅读ComfyUI官方使用FLUX.1示例,以下是基于丹摩平台的部署教程

平台已预制FLUX.1相关资源,您可通过内网高速下载:

shell
# 下载完整FLUX.1-dev模型
wget http://file.s3/damodel-openfile/FLUX.1/FLUX.1-dev.tar
# 下载完整FLUX.1-schnell模型
wget http://file.s3/damodel-openfile/FLUX.1/FLUX.1-dev.tar
# 下载完整Clip模型
wget http://file.s3/damodel-openfile/FLUX.1/flux_text_encoders.tar

此处以FLUX.1-dev为例演示,首先下载完整FLUX.1-dev模型:

wget http://file.s3/damodel-openfile/FLUX.1/FLUX.1-dev.tar

解压文件:

bash
tar -xf FLUX.1-dev.tar

解压后完成后可看到如下目录:

我们需要把其中的一些文件移至ComfyUI指定目录:

  • 大模型文件flux1-dev.safetensors需要移动至/root/workspace/ComfyUI/models/unet/文件夹中
  • vae文件ae.safetensors需移动至/root/workspace/ComfyUI/models/vae/文件夹中
bash
# 进入解压后的文件夹
cd /root/workspace/FLUX.1-dev
# 移动文件
mv flux1-dev.safetensors /root/workspace/ComfyUI/models/unet/
mv ae.safetensors /root/workspace/ComfyUI/models/vae/

接下来下载完整Clip模型:

bash
# 进入JupyterLab根目录
cd /root/workspace
# 下载文件
wget http://file.s3/damodel-openfile/FLUX.1/flux_text_encoders.tar

解压文件:

bash
tar -xf flux_text_encoders.tar

解压后完成后可看到如下目录:

我们需要把其中的一些文件移至ComfyUI指定目录:

bash
# 进入解压后的文件夹
cd /root/workspace/flux_text_encoders
# 移动文件
mv clip_l.safetensors /root/workspace/ComfyUI/models/clip/
mv t5xxl_fp16.safetensors /root/workspace/ComfyUI/models/clip/

以上,所有准备工作完成!

使用流程

运行FLUX.1

终端进入ComfyUI目录,执行以下命令,启动ComfyUI:

bash
cd /root/workspace/ComfyUI
python main.py --listen

我们看到启动成功,host为0.0.0.0,端口为8188

bash
Starting server

To see the GUI go to: http://0.0.0.0:8188

接下来我们需要通过丹摩平台提供的端口映射能力,把内网端口映射到公网;

进入GPU 云实例页面,点击操作-更多-访问控制:

image-20240814163200318

点击添加端口,添加服务对应端口:

image-20240814163323620

添加成功后,通过访问链接即即可打开ComfyUI交互界面:

image-20240814163423885

导入工作流

您可以把以下图片保存,然后在ComfyUI中加载或拖动以下图像以获取工作流

以下是FLUX.1-dev-FP16的展示效果

image-20240814165650747

FLUX.1-dev-FP16

Example

FLUX.1-schnell-FP16

Example

FLUX.1-dev-FP8

Example

FLUX.1-schnell-FP8

Example

防压缩图片链接