丹摩征文活动 | 轻松上手图像生成:FLUX.1遇上ComfyUI,让复杂变简单!
一、背景
FLUX.1是由黑森林实验室推出的一款前沿图像生成模型,针对不同用户需求,提供了三种不同版本。
FLUX.1-pro是专为企业设计的闭源版本,拥有无与伦比的性能和生成能力。其在识别提示词、提升视觉质量、细节表现及输出多样性方面都有出色表现,特别适合需要高性能图像生成的企业用户。用户可以通过官方API访问该版本,并获得个性化的服务。
FLUX.1-dev是一个开源但限制商用的版本,是在FLUX.1-pro基础上开发的。它保留了高精度提示词识别能力,并在效率上有所优化,特别适合开发者用于研究和开发。
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。
二、流程
1. 进入[控制台-GPU云实例](https://www.damodel.com/console/instance),点击创建实例:
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. 创建好密钥对后,选择刚刚创建好的密钥对,并点击立即创建,等待一段时间后即可启动成功!
三、实例
> 接下来将基于平台提供的JupyterLab工具,演示fp16版本的部署流程。
启动JupyterLab,并创建终端:
四、部署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部署成功!
五、部署FLUX.1
> 推荐您阅读[ComfyUI官方使用FLUX.1示例](https://comfyanonymous.github.io/ComfyUI_examples/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
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/
六、使用流程
1. 终端进入ComfyUI目录,执行以下命令,启动ComfyUI:
```bash
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 云实例页面](https://www.damodel.com/console/instance),点击操作-更多-访问控制:
4. 点击添加端口,添加服务对应端口:
5. 添加成功后,通过访问链接即即可打开ComfyUI交互界面: