图像生成 FLUX.1+ComfyUI模型部署,一起来生成独有的视觉盛宴

在这里插入图片描述

1 FLUX.1版本划分

FLUX.1是由黑森林实验室(Black Forest Labs)研发的一款前沿图像生成模型,提供了三个不同版本,以满足多样化的用户需求。

  1. FLUX.1-pro是该模型的闭源版本,展现出卓越的性能和图像生成能力。该版本在提示词识别、视觉质量、细节表现和输出多样性方面均表现出色,非常适合对性能要求高的企业用户。用户可以通过官方API访问FLUX.1-pro,并享受个性化的定制服务。
  2. FLUX.1-dev是开源但限制商用的版本,基于FLUX.1-pro构建。尽管是开源版本,它依然保持了高质量的提示词处理能力,并在效率方面有显著提升,非常适合开发者进行深入的研究和开发。
  3. FLUX.1-schnell是开源且可商用的版本,专为个人用户和本地开发而设计,采用Apache 2.0许可证。该版本在生成速度上具有显著优势,同时内存占用较低,适合在资源有限的环境中运行。

根据官方数据,FLUX.1的训练参数高达120亿,远超SD3 Medium的20亿。

这一巨大参数量使得FLUX.1-pro和FLUX.1-dev在图像质量、提示词准确性、尺寸适应性、排版及输出多样性等方面,超越了市场上主流模型,如Midjourney v6.0、DALL·E 3 (HD)和SD3-Ultra。
在这里插入图片描述

我参与了FLUX.1的体验活动,深刻感受到其强大的功能和灵活的应用场景,期待在未来的项目中充分利用这一先进工具。

2 FLUX.1部署流程

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

在这里插入图片描述

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

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

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

3 FLUX.1登录实例

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

启动JupyterLab,并创建终端:

在这里插入图片描述

4 部署ComfyUI

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

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

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

在这里插入图片描述

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

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

(4)执行以下命令,启动ComfyUI:

python main.py --listen

在这里插入图片描述

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

5 部署FLUX.1

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

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

# 下载完整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

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

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

(3)解压文件:

tar -xf FLUX.1-dev.tar

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

在这里插入图片描述

(5)把其中的一些文件移至ComfyUI指定目录:

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

(6)接下来下载完整Clip模型:

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

(7)解压文件:

tar -xf flux_text_encoders.tar

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

在这里插入图片描述

(9)把其中的一些文件移至ComfyUI指定目录:

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

6 ComfyUI使用流程

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

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

(2)启动成功,host为0.0.0.0,端口为8188

Starting server

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

(3)通过丹摩平台提供的端口映射能力,把内网端口映射到公网; 进入GPU 云实例页面,点击操作-更多-访问控制:

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

7 导入工作流

(1)FLUX.1-dev-FP16的展示效果:

在这里插入图片描述

(2)FLUX.1-schnell-FP8:

在这里插入图片描述

(3)FLUX.1-dev-FP8

在这里插入图片描述