丹摩征文活动|FLUX.1+ComfyUI的详细部署以及实验总结

公主请阅

1. FLUX.1的简介

FLUX.1 是由黑森林实验室开发的图像生成工具,分为三个版本:

  1. FLUX-1-pro(闭源,付费): 最高级别的版本,提供先进的图像生成能力,支持顶级提示词识别、视觉质量、图像细节和输出多样性,目前可通过官方 API 访问,提供企业定制服务。

  2. FLUX-1-dev(开源,但不商用): 与 FLUX-1-pro 接近,提供类似的图像质量和稳定性,适合开发人员学习和实验。

  3. FLUX-1-schnell(开源,用于非商业用户): 面向本地开发和个人使用的轻量级版本,使用 Apache 2.0 许可发布,性能更快,内存占用更小。

FLUX 的图像质量和输出多样性与 Midjourney v6.0、DALL-E 3 等流行模型媲美,拥有极高的成像精度。


2. 部署过程

创建资源

创建地址

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

点击创建实例之后

我们在实例配置中选择付费类型,一般短期需求可以选择按量付费或者包日,长期需求可以选择包月套餐;

然后择GPU数量和需求的GPU型号

这里我选择的是NVIDIA-GeForc-RTX-4090(配置为60GB内存,24GB的显存)

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

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

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

点击这个创建密钥对

输入你的自定义密钥名称就行了,点击确定,你的密钥就创建好了

然后我们选择我们刚刚创建的密钥然后点击立即创建就行了

稍等几分钟这个实例就创建好了,不要退出下面的页面

点击下面的黄色的字我们就能进入特定的网址进行操作了

点击进去,然后我们选择这个

这个就相当于一个云服务器,我们在里面输入Linux命令进行一系列的操作

ComfyUI的部署操作

我们依次在系统中输入以下的命令

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

输入完成就是下面的样子了

这个命令的作用就是在终端中克隆出仓库存放对应的代码

克隆中,这里会不停的闪烁,我们是不需要进行操作的,等待克隆完成就行了,时间可能很长,但是不要急

下面就是显示克隆仓库成功了

然后我们输入第二个命令

克隆完成之后,我们可以看到左边的文件栏是这样的

然后我们进行后续的操作

我们cd到ComfyUI这个目录执行以下命令,安装ComfyUI需要的依赖:

Python 复制代码
cd ComfyUI/
pip install -r requirements.txt --ignore-installed

执行以下命令,启动ComfyUI:

Python 复制代码
python main.py --listen

如果显示下面的成功的样式的话,看到服务成功启动,说明ComfyUI部署成功!

部署FLUX.1

Python 复制代码
# 下载完整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模型

下载好这个模型之后,我们输入下面的命令进行解压的操作

Python 复制代码
tar -xf FLUX.1-dev.tar

然后我们可以看到左侧的文件栏的状态

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

输入下面的命令进行操作

Python 复制代码
# 进入解压后的文件夹
cd /root/workspace/FLUX.1-dev
# 移动文件
mv flux1-dev.safetensors /root/workspace/ComfyUI/models/unet/
mv ae.safetensors /root/workspace/ComfyUI/models/vae/

然后我们cd进入JupyterLab根目录

然后下载对应的文件就行了

Python 复制代码
wget http://file.s3/damodel-openfile/FLUX.1/flux_text_encoders.tar

下载好之后我们输入指令进行解压刚刚下载的文件的操作

Python 复制代码
tar -xf flux_text_encoders.tar

解压之后目录就是这个样子的

然后我们仍然需要将文件移至ComfyUI指定目录

执行下面的指令就行了

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

然后准备部署就准备好了

如何使用?

我们先进入到ComfyUI目录,执行以下命令,启动ComfyUI

Python 复制代码
cd /root/workspace/ComfyUI
python main.py --listen

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

Python 复制代码
Starting server

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

我们回到创建实例的地方

点击这个访问控制

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

然后我们通过链接就能进行访问的操作了

最后我们导入工作流,然后在ComfyUI中加载或拖动以下图像以获取工作流

下面就是我们的最终效果图片了

实验总结:环境搭建与工具安装

  1. FLUX环境准备

    • 下载依赖包 :根据FLUX的官方文档,下载所需的依赖包,确保Python环境中安装了必要的库,比如torchnumpyPIL等。
    • 环境配置:安装FLUX的核心组件,确保在Python环境中可以正常调用FLUX的接口。
  2. ComfyUI安装与配置

    • 下载和安装:从ComfyUI的官方页面下载最新版本,按照文档指引完成安装。
    • 界面配置:配置ComfyUI的操作界面,调整显示布局,使得各类功能模块便于访问。将FLUX的生成接口集成到ComfyUI界面,以便在图形界面上直接调用。
  3. 数据集准备

    • 导入图像数据:根据实验需要,导入一些样本图像。可以选择日常图片或专门的测试数据,确保数据质量良好,便于实验效果评估。
    • 确认模型文件:下载并加载适用于FLUX的模型文件,确认模型结构和权重加载正确,以便在后续步骤中使用。

实验步骤

  1. 基础设置

    • 启动ComfyUI:启动ComfyUI工具,确保界面正常加载。进入FLUX设置界面。
    • 输入参数配置:在ComfyUI的FLUX界面中,设置图像生成的基础参数,比如分辨率、输出格式等。
    • 选择风格:根据实验需求,选择预设的图像风格(如二次元、写实风格等),或者手动定义特定的图像风格参数。
  2. 模型参数调整

    • 参数选择:进入FLUX模型的参数设置界面,选择不同的生成模型(如高清晰模型或快速生成模型)。
    • 调整渲染细节:设置细节参数,如抗锯齿效果、阴影强度、色彩平衡等,以实现特定的视觉效果。
    • 保存配置:将配置文件保存,以便后续进行同样的参数设置,确保实验结果的一致性。
  3. 代码编写与执行

    • 编写Python代码:编写脚本,调用FLUX API进行图像生成。代码应包括图像加载、参数传递、生成图像等流程。
    • FLUX接口调用:通过FLUX的API接口发送生成请求,将参数传递至模型,并获取生成的图像结果。
    • 代码优化:根据生成结果优化代码逻辑,例如调整循环结构或并行处理,确保在不同参数配置下均能高效运行。
  4. 实验运行与结果观察

    • 执行代码:运行编写的代码,观察生成图像的效果。根据图片内容,判断是否满足预期效果。
    • 结果展示与保存:在ComfyUI中查看生成的图像,对比不同参数下的图像质量,选择较好的效果并保存结果。
    • 记录数据:将生成结果和相应的参数设置记录在实验日志中,便于后续分析和改进。
  5. 优化与调整

    • 参数调整:根据生成结果的效果,对渲染细节进行微调。例如,如果图像细节模糊,可以增加细节参数;如果渲染速度较慢,可以降低分辨率。
    • 重复实验:重新运行调整后的参数设置,观察变化效果。记录每次调整的效果,逐步优化生成图像的质量和速度。
    • 最终配置:确定一套最佳的配置参数,以便日后生成高质量图像。

实验结果分析

  1. 图像质量

    • 在不同参数设置下生成的图像存在显著差异。高分辨率设置能够展示更多的细节,但渲染速度较慢;低分辨率设置的生成速度较快,但细节较少。
    • 对比图像色彩、阴影效果等,记录不同参数下的图像质量差异,找到适合的平衡点。
  2. 渲染速度

    • 观察在不同硬件配置下的渲染速度。高性能显卡对渲染速度有较大提升效果。通过参数调整可以减少渲染时间,但可能会影响图像效果。
    • 记录渲染时间,并计算平均渲染速度,便于后续优化或在不同场景中选择合适的参数。
  3. 图像多样性

    • 在不同参数组合下生成了多样化的图像效果,例如不同风格的图像、多样的视觉表现。
    • 总结参数对图像风格的影响,比如亮度、细节、色彩等方面的变化。通过调整风格参数可以满足多种需求。

总结

本次实验验证了FLUX与ComfyUI结合使用的可行性和效果。生成的图像在细节、色彩和多样性方面表现出色,满足了实验预期。同时,不同参数配置对渲染速度和图像质量有显著影响,通过合理选择参数,可以在质量和速度之间取得平衡。

在未来的应用中,可以继续优化FLUX模型的生成参数,结合更多场景和数据集测试。对于不同应用需求,进一步探索FLUX的生成潜力和在图像生成领域的应用前景。


相关推荐
四口鲸鱼爱吃盐1 分钟前
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
人工智能·pytorch·分类
蓝天星空15 分钟前
Python调用open ai接口
人工智能·python
睡觉狂魔er15 分钟前
自动驾驶控制与规划——Project 3: LQR车辆横向控制
人工智能·机器学习·自动驾驶
scan72438 分钟前
LILAC采样算法
人工智能·算法·机器学习
leaf_leaves_leaf41 分钟前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
夜雨飘零11 小时前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
爱喝热水的呀哈喽1 小时前
《机器学习》支持向量机
人工智能·决策树·机器学习
minstbe1 小时前
AI开发:使用支持向量机(SVM)进行文本情感分析训练 - Python
人工智能·python·支持向量机
月眠老师1 小时前
AI在生活各处的利与弊
人工智能
四口鲸鱼爱吃盐1 小时前
Pytorch | 从零构建MobileNet对CIFAR10进行分类
人工智能·pytorch·分类