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

公主请阅

  • 1. FLUX.1的简介
  • 2. 部署过程
    • 创建资源
    • ComfyUI的部署操作
    • 部署FLUX.1
  • 如何使用?
    • 实验总结:环境搭建与工具安装
    • 实验步骤
    • 实验结果分析
    • 总结

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的部署操作

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

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

输入完成就是下面的样子了
这个命令的作用就是在终端中克隆出仓库存放对应的代码
克隆中,这里会不停的闪烁,我们是不需要进行操作的,等待克隆完成就行了,时间可能很长,但是不要急
在这里插入图片描述
下面就是显示克隆仓库成功了
在这里插入图片描述

然后我们输入第二个命令
克隆完成之后,我们可以看到左边的文件栏是这样的

在这里插入图片描述

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

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

执行以下命令,启动ComfyUI:

python main.py --listen

如果显示下面的成功的样式的话,看到服务成功启动,说明ComfyUI部署成功!
在这里插入图片描述

部署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

从上面的命令随便选择一个进行安装就行了,我们选择的是第一个FLUX.1-dev模型
在这里插入图片描述
下载好这个模型之后,我们输入下面的命令进行解压的操作

tar -xf FLUX.1-dev.tar

然后我们可以看到左侧的文件栏的状态
在这里插入图片描述

根据需求我们需要把其中的一些文件移至ComfyUI指定目录:
输入下面的命令进行操作

# 进入解压后的文件夹
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根目录
然后下载对应的文件就行了

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

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

tar -xf flux_text_encoders.tar

解压之后目录就是这个样子的
在这里插入图片描述
然后我们仍然需要将文件移至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/

然后准备部署就准备好了

如何使用?

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

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

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

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的生成潜力和在图像生成领域的应用前景。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/914264.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【电力系统】永磁同步电机调速系统带有扰动观测器

【电力系统】永磁同步电机调速系统带有扰动观测器( DOB)的最优滑模控制、改进补偿滑模控制、传统滑模、PID控制研究 摘要 本文研究了永磁同步电机(PMSM)调速系统中的不同控制策略,包括最优滑模控制、改进补偿滑模控制、传统滑模控制以及PID控…

手动实现h5移动端点击全屏按钮横屏展示图片,左右滑动切换,处理页面会随着手指滑动问题

页面提供全屏按钮,全屏展示的容器 <div class"container"><button click"openSwiper">点击全屏查看</button><!-- 大图 --><divclass"full"v-if"showSwiper"touchstart"handleTouchStart"touch…

RHEL 网络配置(Linux网络服务器 09)

0 引入 对于Linux系统的网络管理员来说&#xff0c;掌握Linux服务器的网络配置是至关重要的&#xff0c;同时管理远程主机也是网络管理员必须掌握的。这些是后续网络服务配置的基础。 本文&#xff0c;我们讲解如何使用nmtui命令配置网络参数&#xff0c;以及通过nmtui命令查…

【Qt】Macbook M1下载安装

文章目录 一、下载Xcode命令行工具二、在Cion中配置编译器三、安装Qt四、配置qmake环境五、创建Qt项目 博主已经下载了Clion&#xff0c;所以本文是将qt配置到Clion上 本博客所写的教程有一定的问题&#xff0c;因为我在官网下载后发现有一些所需的包是没有的&#xff0c;不知道…

UE5 样条线组件(未完待续)

按点生成模型 按距离生成 spline mesh 可缩放spline mesh

Linux(CentOS)项目总结(前后端分离)

项目情况&#xff1a; 前端开发&#xff1a;vue3 vite ts VSCode后端开发&#xff1a;JDK17 Spring Boot 3 Mybatis Maven IDEA数据库&#xff1a;MySQL8.4.3 SQLyog代码管理&#xff1a;Git虚拟环境&#xff1a;VMware远程登录&#xff1a;FinalShell服务器操作系统&…

【C++】 C++游戏设计---五子棋小游戏

1. 游戏介绍 一个简单的 C 五子棋小游戏 1.1 游戏规则&#xff1a; 双人轮流输入下入点坐标横竖撇捺先成五子连线者胜同一坐标点不允许重复输入 1.2 初始化与游戏界面 初始化界面 X 输入坐标后 O 输入坐标后 X 先达到胜出条件 2. 源代码 #include <iostream> #i…

A算法详解(go实现)

A*算法详解&#xff08;go实现&#xff09; 推荐一位大佬的文章&#xff0c;建议可以去看看https://hogwartsrico.github.io/2016/03/11/AStarPathFinding/index.html 下面贴出来文章中用于举例的网站&#xff1a; https://anvaka.github.io/ngraph.path.demo/#?graphamste…

丹摩征文活动 | 0基础带你上手经典目标检测模型 Faster-Rcnn

文章目录 &#x1f34b;1 引言&#x1f34b;2 平台优势&#x1f34b;3 丹摩平台服务器配置教程&#x1f34b;4 实操案例&#xff08; Faster-rcnn 项目&#xff09;&#x1f34b;4.1 文件处理&#x1f34b;4.2 环境配置&#x1f34b;4.3 训练模型&#x1f34b;4.4 数据保存并导…

Java poi 模板导出Word 带图片

Java poi 模板导出Word 带图片 重点&#xff01;&#xff01;&#xff01; 官方文档&#xff1a;https://deepoove.com/poi-tl/#_maven 最终效果 模板 其实内容都在官方文档里写的非常明白了 我这里只是抛砖引玉。 Maven依赖 <poi.version>4.1.2</poi.version>…

LabVIEW车辆侧翻预警系统

在工业和实验室环境中&#xff0c;搬运车辆、叉车和特种作业车辆经常在负载和高速转弯过程中发生侧翻事故&#xff0c;导致设备损坏和人员伤害。为提高工作环境的安全性&#xff0c;开发了一种基于LabVIEW的工业车辆侧翻预警系统&#xff0c;能够实时监测车辆状态并发出预警&am…

Unity3D UI 双击和长按

Unity3D 实现 UI 元素双击和长按功能。 UI 双击和长按 上一篇文章实现了拖拽接口&#xff0c;这篇文章来实现 UI 的双击和长按。 双击 创建脚本 UIDoubleClick.cs&#xff0c;创建一个 Image&#xff0c;并把脚本挂载到它身上。 在脚本中&#xff0c;继承 IPointerClickHa…

计算机网络——SDN

分布式控制路由 集中式控制路由

深入浅出rust内存对齐

在 Rust 中&#xff0c;内存对齐是一个重要的概念&#xff0c;它涉及到数据在内存中的存储方式&#xff0c;以及如何优化内存访问的效率。往往一门语言的内存布局以及对齐方式决定了一门语言的性能&#xff0c;因此学会并深入理解rust中内存布局会让我们写出高性能的rust代码&a…

ARM64环境使用docker-compose进行ElasticSearch8集群部署

环境规划 主机IP系统ES版本CPU架构用户名密码192.168.174.18Ubuntu 22.04.4 LTSelasticsearch:8.10.4ARM64elasticllodyi4TMmZD192.168.174.218Ubuntu 22.04.4 LTSelasticsearch:8.10.4ARM64192.168.174.112Ubuntu 22.04.4 LTSelasticsearch:8.10.4ARM64 概念&#xff1a; no…

28.医院管理系统(基于springboot和vue)

目录 1.系统的受众说明 2. 相关技术和开发环境 2.1 相关技术 2.1.1 Java语言 2.1.2 HTML、CSS、JavaScript 2.1.3 Redis 2.1.4 MySQL 2.1.5 SSM框架 2.1.6 Vue.js 2.1.7 SpringBoot 2.2 开发环境 3. 系统分析 3.1 可行性分析 3.1.1 经济可行性 3.1.2 技术…

高性能分布式缓存Redis-高可用部署

一、主从架构搭建 为什么要进行主从架构搭建&#xff0c;一台redis不行吗&#xff1f; ①、持久化后的数据只在一台机器上&#xff0c;因此当硬件发生故障时&#xff0c;比如主板或CPU坏了&#xff0c;这时候无法重启服务器&#xff0c;有什么办法可以保证服务器发生故障时数…

Profinet转CanOpen网关连接与CanOpen协议磁轨道实现高效连接

该项目旨在展示如何通过开疆智能Profinet转Canopen网关实现西门子1200PLC与磁轨道之间的连接。以下是项目实施的步骤概要&#xff1a;安装必要的GSD文件到西门子组态软件中&#xff0c;确保系统能够识别并使用Profinet转Canopen网关设备。 进行设备配置&#xff0c;包括将PLC和…

openai Realtime API (实时语音)

https://openai.com/index/introducing-the-realtime-api/ 官方demo https://github.com/openai/openai-realtime-console 官方demo使用到的插件 https://github.com/openai/openai-realtime-api-beta?tabreadme-ov-file 装包配置 修改yarn.lock 这个包是从github下载的 &q…

Docker--Docker是什么和对Docker的了解

Docker 的本质 Docker的本质是LXC&#xff08;Linux容器&#xff09;之类的增强版&#xff0c;它本身不是容器&#xff0c;而是容器的易用工具。 Docker通过虚拟化技术&#xff0c;将代码、依赖项和运行环境打包成一个容器&#xff0c;并利用隔离机制来使得容器之间互相独立、…