Flux Tools 结构简析

Flux Tools 结构简析

BFL 这次一共发布了 Canny、Depth、Redux、Fill 四个 Tools 模型系列,分别对应我们熟悉的 ControlNets、Image Variation(IP Adapter)和 Inpainting 三种图片条件控制方法。虽然实现功能是相同的,但是其具体实现方法却与之前大为不同。笔者查看了官方源码,在此简单记录一下几种 Flux Tools 的具体结构。

Flux 标准结构简图

我们先简单回顾一下 Flux dev 的标准结构,注意这里的回顾是为下面介绍 Flux Tools 结构服务的,因此对于具体的模型细节不会展开讲,而只介绍与 Flux Tools 的适配有关的部分。

Flux 整体上延续了 SD3 的模型结构。首先由 VAE 将像素空间的图片编码到 Latent 空间,然后进行多步去噪生图。Flux 采用了 T5、CLIP 两种编码器来提取文本特征,分别通过直接输入和 adaLN 条件的形式来讲文本条件注入到模型中。此外,Flux 还引入了 RoPE 位置编码、单流 DiT 块等改进。

在这里插入图片描述

Control

首先来看空间结构控制的两个模型 Canny 和 Depth,这两种空间控制本次各自发布了 LoRA 和全量模型两种版本。

一张条件图,预处理得到 Canny/Depth 图之后,送入 vae 中进行编码得到 latent,然后拼接到 img 的通道维(dim=-1)。需要注意的是,既然这里拼接到了 img 的通道维,为了对应扩张的输入维度,我们 img embedder 这个线性层的输入维度也需要跟着扩张,这里实际从 64 扩张为了 128。

在这里插入图片描述

Redux / Fill

Redux 模型,最开始以为会是一个类似 IP Adapter。但实际上,只有闭源版本的 Flux Pro/Ultra Redux 可以实现与 IP Adapter 类似的功能。而开源版本的 Flux Dev Redux 只能做 Img Variation。具体来说,开源版本的 Redux 不接收文本 prompt 条件,或者严格来说:文本 prompt 条件的影响很小很小。官方代码中,Redux 的文本 prompt 直接写死为空 L194。这导致开源版本的 Redux 模型只能实现 Img Variation 纯图到图的功能。当然,近些天社区已经研发出通过注意力权重调整、注意力掩码的方法来使得 Redux 模型能够接收文本 prompt 条件。具体出图质量如何,还有待测试。

Redux 和 Fill 的条件控制方式彼此比较接近,而与 Control 不同。

Redux 中,首先将条件图片用 SigLIP 进行编码,然后经过 MLP 对齐维度之后,拼接到 txt 的token 维度上(dim=-2),相当于在文本 token 之后直接加了若干个 token 表示图片条件。

Fill 则是接收一个底图和一个掩码图,根据掩码图将底图对应区域抹除后,底图经过 vae 进行编码,与掩码图都经过 pack 之后,同时拼接到 txt 的 token 维度上。

在这里插入图片描述

总结

在基础模型结构切换到 (MM-)DiT 之后,Flux 官方选择通过拼接条件 token 来实现条件控制,这似乎与 MM-DiT 直接将文本作为输入来实现条件控制的设计思路一脉相承。在 Flux Tools 发布之前,第三方的 ControlNet、IP Adapter 却还是沿用之前 UNet 时代的外挂 Adapter 的方案。在 DiT 架构上,这两种条件控制方式相比有何优劣?实测条件控制效果与出图质量如何,兼容性、可插拔性方面是否会受到影响?在实际应用或训练时应该如何选择?都是仍待探究的问题。在 Fill、Canny/Depth 这种空间控制的问题,感觉上还是 ControlNet 的形式更合理一点?

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

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

相关文章

【物联网技术与应用】实验3:七彩LED灯闪烁

实验3 七彩LED灯闪烁 【实验介绍】 七彩LED灯上电后,7色动闪光LED模块可自动闪烁内置颜色。它可以用来制作相当吸引人的灯光效果。 【实验组件】 ● Arduino Uno主板* 1 ● USB数据线* 1 ● 7彩LED模块*1 ● 面包板*1 ● 9V方型电池*1 ● 跳线若干 【实验原…

Web 安全必读:跨站脚本攻击 (XSS) 原理与防御指南

文章目录 原理解析:触发方式 文件内容中的xss文件名中的xssHTTP请求中的xss其他 分类: 根据攻击脚本存储的方式根据脚本是否通过服务器处理根据持久性 常见的js触发标签 无过滤情况有过滤情况 xss-labs通关 level1-level10level11-level20 XSS&#x…

Set集合进行!contains判断IDEA提示Unnecessary ‘contains()‘ check

之前写过一个代码&#xff0c;用到了Set集合&#xff0c;判断了如果某个元素不存在就添加到集合中。今天翻看代码又看到了IDEAUnnecessary contains() check爆黄提示。 来一段测试代码&#xff1a; public class SetTest {public static void main(String[] args) {Set<Int…

Mapper代理开发

引入 Mybatis入门方式中&#xff0c;以下代码仍存在硬编码问题 Mapper 代理开发&#xff1a; 目的&#xff1a; 解决原生方式中的硬编码 简化后期执行sql ------下图中&#xff0c;第一段代码是原生硬编码代码块&#xff0c;第二个是引入了Mapper代理开发的代码块。 Mapper代…

abc 384 D(子数组->前缀和) +E(bfs 扩展的时候 按照数值去扩展)

D 做出来的很开心&#xff0c;好像本来就应该做出来>< 思路&#xff1a; 对于连续的子序列&#xff08;也就是 子数组&#xff09; 一般都和 前缀和 后缀和 有关系 区间[l r] 可以用 前缀 S_r -S{l-1} tar来表示。(对于两个元素等于一个数字&#xff0c;就可以枚举一个&…

【2024版】最新推荐好用的XSS漏洞扫描利用工具_xss扫描工具

工具介绍 toxssin 是一种开源渗透测试工具&#xff0c;可自动执行跨站脚本 (XSS) 漏洞利用过程。它由一个 https 服务器组成&#xff0c;它充当为该工具 (toxin.js) 提供动力的恶意 JavaScript 有效负载生成的流量的解释器。 安装与使用 1、安装需要的依赖库 git clone http…

web网页前后端交互方式

参考该文&#xff0c; 一、前端通过表单<form>向后端发送数据 前端是通过html中的<form>表单&#xff0c;设置method属性定义发送表单数据的方式是get还是post。 如使用get方式&#xff0c;则提交的数据会在url中显示&#xff1b;如使用post方式&#xff0c;提交…

Visual studio的AI插件-通义灵码

通义灵码 TONGYI Lingma 兼容 Visual Studio、Visual Studio Code、JetBrains IDEs 等主流 IDE&#xff1b;支持 Java、Python、Go、C/C、C#、JavaScript、TypeScript、PHP、Ruby、Rust、Scala 等主流编程语言。 安装 打开扩展管理器&#xff0c;搜送“TONGYI Lingma”&…

[C++]类的继承

一、什么是继承 1.定义&#xff1a; 在 C 中&#xff0c;继承是一种机制&#xff0c;允许一个类&#xff08;派生类&#xff09;继承另一个类&#xff08;基类&#xff09;的成员&#xff08;数据和函数&#xff09;。继承使得派生类能够直接访问基类的公有和保护成员&#xf…

【系统】Mac crontab 无法退出编辑模式问题

【系统】Mac crontab 无法退出编辑模式问题 背景一、问题回答1.定位原因&#xff1a;2.确认编辑器类型3.确保编辑器进入正确3.1 确认是否有crontab调度任务3.2 进入编辑器并确保编辑器正常3.3 保存操作 4.确认crontab任务存在 二、后续 背景 之前写过一篇&#xff1a;【系统】…

WPF系列一:窗口设置无边框

WindowStyle 设置&#xff1a;WindowStyle"None"&#xff0c;窗口无法拖拽&#xff0c;但可纵向和横向拉伸 <Window x:Class"WPFDemo.MainWindow.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x&quo…

售电公司办理全指南,开启能源新征程

一、售电公司的重要性 售电公司在能源市场中起着至关重要的作用&#xff0c;成为连接发电企业与终端用户的关键桥梁。随着经济的发展和生活水平的提高&#xff0c;电力需求持续增长&#xff0c;售电公司能够为满足这不断增长的需求提供更多选择。同时&#xff0c;在新电力技术…

JS使用random随机数实现简单的四则算数验证

1.效果图 2.代码实现 index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</ti…

【记录】Django解决与VUE跨域问题

1 梗概 这里记录Django与VUE的跨域问题解决方法&#xff0c;主要修改内容是在 Django 中。当然其他的前端项目 Django 也可以这样处理。 2 安装辅助包 pip install django-cors-headers3 配置 settings.py INSTALLED_APPS [ # ... corsheaders, # ... ] 为了响应…

Sub-GHz无线通信技术,打造LPWAN的“最优解”

无线通信是指利用电磁波信号可以在自由空间中传播的特性进行信息交换的一种通信技术。近些年来&#xff0c;从便捷的手机通信到智能互联的家居系统&#xff0c;再到“万物互联”的物联网时代&#xff0c;无线通信技术都以其无处不在的身影&#xff0c;展现出了强大的生命力和无…

2D gaussian splatting的配置和可视化

继3D gaussian splatting&#xff0c;2D gaussian splatting除了渲染新视角&#xff0c;还能够生成mesh模型。 2D gaussian splatting的配置 两者的运行环境基本一致 GitHub - hbb1/2d-gaussian-splatting: [SIGGRAPH24] 2D Gaussian Splatting for Geometrically Accurate …

6、AI测试辅助-测试报告编写(生成Bug分析柱状图)

AI测试辅助-测试报告编写&#xff08;生成Bug分析柱状图&#xff09; 一、测试报告1. 创建测试报告2. 报告补充优化2.1 Bug图表分析 3. 风险评估 总结 一、测试报告 测试报告内容应该包含&#xff1a; 1、测试结论 2、测试执行情况 3、测试bug结果分析 4、风险评估 5、改进措施…

医学影像数据集汇总分享

医学影像数据集汇总分享 一、前言二、分类数据集2.1NIH Chest X-ray胸部X射线图像数据集2.2CC-CCII肺部CT图像数据集 三、定位数据集3.1NIH Chest X-ray胸部X射线图像数据集 四、分割数据集4.1CAMUS心脏超声图像数据集4.2CC-CCII肺部CT图像数据集4.3Shenzhen Hospital胸部X射线…

计算无人机俯拍图像的地面采样距离(GSD)矩阵

引言 在无人机遥感、测绘和精细农业等领域&#xff0c;地面采样距离&#xff08;Ground Sampling Distance&#xff0c;简称 GSD&#xff09;是一个非常重要的指标。GSD 是指图像中每个像素在地面上实际代表的物理距离&#xff0c;通常以米或厘米为单位。GSD 决定了图像的空间…

图变换器的再思考:谱注意力网络

人工智能咨询培训老师叶梓 转载标明出处 图神经网络&#xff08;GNNs&#xff09;的传统策略是通过稀疏的消息传递过程直接编码图结构。然而&#xff0c;这种方法存在固有的局限性&#xff0c;例如过度平滑和过度压缩问题&#xff0c;这些限制了模型的性能和表达能力。为了克服…