外观
FLUX.1+ComfyUI部署与使用
FLUX.1简介
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云实例,点击创建实例:
进入创建页面后,首先在实例配置中选择付费类型,一般短期需求可以选择按量付费或者包日,长期需求可以选择包月套餐;
其次选择GPU数量和需求的GPU型号,首次创建实例推荐选择:
- 按量付费
- GPU数量1
- NVIDIA-GeForc-RTX-4090:该配置为60GB内存,24GB的显存(本次测试的LLaMA3.1 8B 版本至少需要GPU显存16G)
接下来配置数据硬盘的大小,每个实例默认附带了50GB的数据硬盘,FLUX.1模型较大,建议扩容至150GB。
继续选择安装的镜像,平台提供了一些基础镜像供快速启动,镜像中安装了对应的基础环境和框架,可通过勾选来筛选框架,这里筛选PyTorch,选择PyTorch 2.4.0。
为保证安全登录,创建密钥对,输入自定义的名称,然后选择自动创建并将创建好的私钥保存的自己电脑中,以便后续本地连接使用。
创建好密钥对后,选择刚刚创建好的密钥对,并点击立即创建,等待一段时间后即可启动成功!
登录实例
接下来将基于平台提供的JupyterLab工具,演示fp16版本的部署流程。
首先,启动JupyterLab,并创建终端:
部署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
看到服务成功启动,说明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 云实例页面,点击操作-更多-访问控制:
点击添加端口,添加服务对应端口:
添加成功后,通过访问链接即即可打开ComfyUI交互界面:
导入工作流
您可以把以下图片保存,然后在ComfyUI中加载或拖动以下图像以获取工作流
以下是FLUX.1-dev-FP16的展示效果