FLUX.1 文生图模型微调指南
FLUX.1 是 Black Forest Labs 今年夏天发布的文本转图像模型系列。FLUX.1 模型为开源图像生成模型树立了新标准:它们可以生成逼真的手、清晰的文本,甚至可以生成搞笑表情包这样异常困难的任务。
现在,你可以使用 Ostris 的 Replicate 上的 AI Toolkit 对 FLUX.1 [dev] 进行微调。
如果你知道这一切意味着什么,并且已经准备好使用你的数据集进行尝试,你可以跳到代码部分。否则,以下是它的含义以及你应该关注的原因:
左图:使用基本 FLUX.1 模型生成。右图:与模型 fofr/flux-bad-70s-food 相同的提示和种子
NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - AI模型在线查看 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割
1、什么是微调?
这些大型图像生成模型(如 FLUX.1 和 Stable Diffusion)在一堆添加了噪声的图像上进行训练,并学习“添加噪声”的反向功能。令人惊讶的是,这竟然是“创建图像”。
他们怎么知道要创建哪幅图像?他们以 CLIP 和 T5 等转换器模型为基础,这些模型本身经过大量图像-标题对的训练。这些是语言到图像的编码器:它们学习将图像及其标题映射到高维空间中的相同形状。当您向他们发送文本提示时,例如“公园里读报纸的松鼠”,他们可以将其映射到网格中的像素模式。对于编码器来说,图片和标题是同一回事。
图像生成过程如下所示:获取一些输入像素,将它们稍微远离噪声并移向文本输入创建的模式,然后重复,直到达到正确的步数。
反过来,微调过程会从数据集中获取每个图像/标题对,并稍微更新内部映射。你可以通过这种方式教模型任何东西,只要它可以通过图像-标题对来表示:角色、设置、媒介、风格、流派。在训练过程中,模型将学会将你的概念与特定的文本字符串关联起来。将此字符串包含在提示中以激活该关联。
例如,假设你想针对漫画超级英雄微调模型。你将收集一些角色图像作为数据集。一个全面的批次:不同的设置、服装、灯光,甚至不同的艺术风格。这样,模型就会明白它正在学习的是这个人,而不是任何其他偶然的细节。
选择一个简短、不常见的单词或短语作为触发器:一些不会与其他概念或微调冲突的独特的东西。你可以选择“70 年代的糟糕食物”或“JELLOMOLD”之类的东西。训练您的模型。现在,当你提示“在旧金山的派对上拍摄 70 年代的糟糕食物”时,你的模型将调用你的特定概念。就这么简单。
拍几张你的宠物或你最喜欢的室内植物的照片,让我们开始吧。
左图:使用基本 FLUX.1 模型生成。右图:使用模型 fofr/flux-bad-70s-food 的相同提示和种子
2、如何微调 FLUX.1
n你只需在网络上或通过 API 上传一些图像,即可在 Replicate 上微调 FLUX.1。
如果你不熟悉 Replicate,我们可以轻松地将 AI 作为 API 运行。你不必寻找强大的 GPU,不必处理环境和容器,也不必担心扩展。可以使用普通 API 编写普通代码,只需为你使用的内容付费。
2.1 准备训练数据
要开始微调,你需要一组代表想要教给模型的概念的图像。这些图像应该足够多样化,以涵盖概念的不同方面。例如,如果你正在对特定角色进行微调,请包括各种设置、姿势和灯光下的图像。
以下是一些指导原则:
- 使用 12-20 张图像以获得最佳效果
- 尽可能使用大图像
- 使用 JPEG 或 PNG 格式
- 或者,为每个具有相同名称的图像创建一个相应的 .txt 文件,其中包含标题
获得图像(和可选标题)后,将它们压缩成一个文件。
2.2 在网络上创建训练
要开始在网络上进行训练过程,请在 Replicate 上导航到 Ostris 的 FLUX.1 [dev] 训练器。
首先,选择一个模型作为目标,或者通过在模型选择器字段中键入名称来创建一个新模型。
接下来,将包含训练数据的 zip 文件作为 input_images
上传,然后设置训练参数。
trigger_word
指的是你正在训练的对象、风格或概念。选择一个不是真实单词的字符串,例如 TOK 或与正在训练的内容相关的内容,例如 CYBRPNK。你指定的触发词将在训练期间与所有图像相关联。然后,当你运行经过微调的模型时,可以在提示中包含触发词以激活你的概念。
对于步骤,一个好的起点是 1000。
将 learning_rate
、 batch_size
和 resolution
保留为默认值。除非你想提供自己的字幕,否则请保持自动字幕启用。
如果你想在 Hugging Face 上保存自己的模型,请输入你的 Hugging Face 令牌并设置存储库 ID。
填写完表格后,单击“创建训练”以开始微调过程。
2.3 通过 API 创建训练
或者,你可以使用 API 从自己的代码创建训练。
确保已在环境中设置了 REPLICATE_API_TOKEN。在你的帐户设置中找到它。
export REPLICATE_API_TOKEN=r8_***************************
创建一个新模型,作为微调权重的目标。一旦流程完成,你的训练模型将驻留在此位置。
import replicatemodel = replicate.models.create(owner="yourusername",name="flux-your-model-name",visibility="public", # or "private" if you preferhardware="gpu-t4", # Replicate will override this for fine-tuned modelsdescription="A fine-tuned FLUX.1 model"
)print(f"Model created: {model.name}")
print(f"Model URL: https://replicate.com/{model.owner}/{model.name}")
现在你有了模型,请通过创建新的训练运行来开始训练过程。你需要提供输入图像、步数以及任何其他所需参数。
# Now use this model as the destination for your training
training = replicate.trainings.create(version="ostris/flux-dev-lora-trainer:4ffd32160efd92e956d39c5338a9b8fbafca58e03f791f6d8011f3e20e8ea6fa",input={"input_images": open("/path/to/your/local/training-images.zip", "rb"),"steps": 1000,"hf_token": "YOUR_HUGGING_FACE_TOKEN", # optional"hf_repo_id": "YOUR_HUGGING_FACE_REPO_ID", # optional},destination=f"{model.owner}/{model.name}"
)print(f"Training started: {training.status}")
print(f"Training URL: https://replicate.com/p/{training.id}")
请注意,此时为模型选择哪种硬件并不重要,因为我们将所有 FLUX.1 微调路由到 H100。训练这么多步骤通常需要 20-30 分钟,费用不到 2 美元。
2.4 使用训练好的模型
训练完成后,可以像使用任何其他模型一样直接在 Replicate 上使用训练好的模型。
你可以在 Web 上运行它:
- 转到 Replicate 上的模型页面(例如
https://replicate.com/yourusername/flux-your-model-name
)。 - 对于提示输入,请包含触发词(例如“70 年代的糟糕食物”)以激活你的微调概念。
- 根据需要调整任何其他输入。
- 单击“运行”以生成你的图像。
或者,使用 API。例如,使用 Python 客户端:
import replicateoutput = replicate.run("yourusername/flux-your-model-name:version_id",input={"prompt": "A portrait photo of a space station, bad 70s food","num_inference_steps": 28,"guidance_scale": 7.5,"model": "dev",****}
)print(f"Generated image URL: {output}")
将 yourusername/flux-your-model-name:version_id
替换为你的实际模型详细信息。
你可以在模型页面的“API”选项卡上找到有关使用 API 运行它的更多信息。
3、使用 FLUX.1 [schnell] 实现更快的生成
你可以将 FLUX.1 [dev] LoRA 与较小的 FLUX.1 [schnell] 模型一起使用,以更快、更便宜地生成图像。只需在生成时将模型参数从 dev 更改为 schnell,并将 num_inference_steps 降低到 4 等小值即可。
请注意,输出仍将受 FLUX.1 [dev] 的非商业许可。
3.1 示例和用例
查看我们的示例库以获取灵感。你可以看到其他人如何微调 FLUX.1 来创建不同的风格、角色、永无止境的可爱动物游行等等。
基本 FLUX.1 模型输出:
左图:使用基本 FLUX.1 模型生成。右图:使用 fofr/flux-bad-70s-food 模型的相同提示和种子
3.2 许可和商业使用
如果你使用 FLUX.1 模型及其微调在 Replicate 上生成图像,则可以将这些图像用于商业用途。
如果你从 Replicate 下载权重并在自己的计算机上生成图像,则不能将这些图像用于商业用途。
原文链接:FLUX.1微调指南 - BimAnt
相关文章:
![](https://img-blog.csdnimg.cn/img_convert/843c1942c793072dc1be3997f082e6e4.png)
FLUX.1 文生图模型微调指南
FLUX.1 是 Black Forest Labs 今年夏天发布的文本转图像模型系列。FLUX.1 模型为开源图像生成模型树立了新标准:它们可以生成逼真的手、清晰的文本,甚至可以生成搞笑表情包这样异常困难的任务。 现在,你可以使用 Ostris 的 Replicate 上的 A…...
![](https://www.ngui.cc/images/no-images.jpg)
JavaWeb基础:HTTP协议与Tomcat服务器
目录 1. HTTP协议简介 示例代码:创建HTTP GET请求 2. Tomcat服务器介绍 Tomcat的基本操作 示例代码:部署简单Servlet 3. 使用Servlet处理请求 示例代码:处理POST请求 在现代网络开发中,理解HTTP协议和如何使用Tomcat作为服…...
![](https://i-blog.csdnimg.cn/direct/811edff1994d49baa5462efd4e462c2a.png)
python井字棋游戏设计与实现
python实现井字棋游戏 游戏规则,有三个井字棋盘,看谁连成的直线棋盘多谁就获胜 棋盘的展现形式为 棋盘号ABC和位置数字1-9 输入A1 代表在A棋盘1号位数下棋 效果图如下 部分源码如下: 卫星工纵浩 白龙码程序设计,点 代码获取 …...
![](https://img-blog.csdnimg.cn/img_convert/94e1e3b9b564f596c8208c7272935d3f.png)
据说是可以和 Windows 一拼的 5个 Linux 发行版
现如今有数以千计的 Linux 发行版可供您使用,然而人们却无法选择一个完美的操作系统来替代 Windows。 使用 Windows 时,傻瓜都能操作自如,同样的方法却不适用于 Linux。在这里,您必须具备操作和使用操作系统的基本知识。因此人们经…...
![](https://www.ngui.cc/images/no-images.jpg)
PHP 常用函数
1. ksort() 如果你有一个数组 array([11] > array(XX), [6] > array(YYY)),你想要返回按照key重新排序,并不改变键和值之间的关联,处理之后的结果为 array([6] > array(YY…...
![](https://img-blog.csdnimg.cn/img_convert/9630604e6cab8c96c15d8a527c5751f8.png)
如何将MySQL迁移到TiDB,完成无缝业务切换?
当 MySQL 数据库的单表数据量达到了亿级,会发生什么? 这个现象表示公司的业务上了一个台阶,随着数据量的增加,公司规模也进一步扩大了,是非常喜人的一个改变 ,然而随之而来的其他变化,就没那么…...
![](https://i-blog.csdnimg.cn/direct/55d908cbb30a42c19e267fbaa456514e.png)
【嵌入式烧录刷写文件】-2.10-为一个Intel Hex文件计算校验和Checksum
案例背景(共6页精讲): 有如下一段Intel Hex文件,为其创建Checksum校验和:CRC16,CRC32(CVN),SHA-256 Hash算法…, 将Checksum Value填充到指定地址。 :2091000058595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767…...
![](https://i-blog.csdnimg.cn/direct/d4de07551f8f4313b9403193cfbc4e3a.png)
整体思想以及取模
前言:一开始由于失误,误以为分数相加取模不能,但是其实是可以取模的 这个题目如果按照一般方法,到达每个节点再进行概率统计,但是不知道为什么只过了百分之十五的测试集 题目地址 附上没过关的代码 #include<bits…...
![](https://i-blog.csdnimg.cn/direct/8168921e39044c99aa8f07eed54f20f2.png)
RabbitMQ 消息可靠保障
RabbitMQ 消息可靠保障 消息的可靠性保证生产者重连生产者确认解决思路A-确认机制解决思路B-备份交换机 MQ 服务器宕机导致消息丢失消费端消息的可靠性保障 消费端限流给消息生成唯一id 消息的可靠性保证 实际项目中 MQ 的流程一般是:生产端把消息路由到交换机&…...
![](https://www.ngui.cc/images/no-images.jpg)
Redis 作为 PHP 的会话存储
使用 Redis 作为 PHP 的会话存储,可以实现多个服务器之间的会话共享,提高会话管理的效率,特别是在分布式系统中。这种方法将会话数据存储在 Redis 中,而不是使用默认的文件系统,从而使多个服务器可以访问相同的会话数据…...
![](https://img-blog.csdnimg.cn/img_convert/1c48ec3e052f2b548022c73e67c239ef.jpeg)
基于伏图的数字心脏模拟仿真APP应用介绍
一、背景介绍 心脏是保证人体正常运转最重要的动力,人体内的血液循环通过心血管运输到各个部位,因此,心血管系统的稳定是人体健康的关键。心血管内科领域极具专业性,其理论研究与技术发展日新月异,心血管疾病患者往往…...
![](https://i-blog.csdnimg.cn/direct/fd826eef84a44ed298ff6867f4ffc1df.png)
智云-一个抓取web流量的轻量级蜜罐docker一键启动
智云-一个抓取web流量的轻量级蜜罐docker安装教程 github地址 https://github.com/xiaoxiaoranxxx/POT-ZHIYUN docker快速启动(v1.4) git clone https://github.com/xiaoxiaoranxxx/POT-ZHIYUN.git cd POT-ZHIYUN docker-compose up -d默认映射到80和8080端口 mysql不对外开放…...
![](https://i-blog.csdnimg.cn/direct/b2be2fc44e8e4478845a0536e2487510.png)
原生HTML5、CSS、JavaScript实现简易网易云音乐播放
1.效果图 2.源码 1.index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>网易云音乐</title><link rel"stylesheet" href"../CSS/index.css"> </head>…...
![](https://img-blog.csdnimg.cn/b5ec7b667bf34a8fa717d503b1f2cff5.png)
网上商城小程序的设计
管理员账户功能包括:系统首页,个人中心,用户管理,商品信息管理,商品类型管理,活动专区管理,新品上架管理,用户评价管理,订单管理,系统管理 微信端账号功能包…...
![](https://i-blog.csdnimg.cn/direct/b349cc12e04c45d1835f9662e816cc27.png#pic_center)
微分方程(Blanchard Differential Equations 4th)中文版Section2.2
动力系统的几何分析 捕食者-猎物系统的向量场 在第2.1节中,我们展示了两个不同捕食者-猎物系统的 R ( t ) R(t) R(t) 和 F ( t ) F(t) F(t) 图形,但没有描述我们是如何生成这些图形的。我们将在第2.5节中解决这个问题,采用欧拉方法推广到…...
![](https://www.ngui.cc/images/no-images.jpg)
Swift 环境搭建
Swift 环境搭建 Swift 是由苹果公司开发的一种强类型编程语言,用于iOS、macOS、watchOS和tvOS应用程序的开发。搭建Swift开发环境是开始使用Swift进行编程的第一步。本文将详细介绍如何在不同的操作系统上搭建Swift开发环境。 在macOS上搭建Swift环境 系统要求 …...
![](https://www.ngui.cc/images/no-images.jpg)
科技与出版
科技与出版 ISSN: 1005-0590 CN: 11-3209/G3 常设栏目:特别策划、产业观察、融媒之光、编辑实务、营销方略、学术探索、创作空间等。 稿件要求 (1)来稿应有创新性;立论科学,主题明确,推理严谨;词语准确,…...
![](https://www.ngui.cc/images/no-images.jpg)
5年前端面试之路
作者:星空海绵 顺便吆喝一声,技术大厂,内推捞人,前/后端or测试←感兴趣 --加班偶尔较多,但周末加班两倍工资。 --15-35K,工资一线城市属于一般,但二线城市很可以。 前言 由于公司要进行…...
![](https://i-blog.csdnimg.cn/direct/0cf938914bc44de3b9b4d24c7454f672.png)
产品运营(一)--产品运营是什么?
1.运营是什么? 通过一系列穿针引线式的行为和资源投入,让一件事能持续良性运转。 运营面向的主体不同,使用的运营手段也是不同的。作用:赋予产品闪耀的光芒。距离用户最近的人(体验用户,成为用户?demo:k…...
![](https://i-blog.csdnimg.cn/direct/edbfda5b38414b818ee32ae9fee35ca0.png)
学习大数据DAY41 Hive 分区表创建
目录 分区表 分区表应用场景 oracle 分区表种类 oracle 分区-范围分区 oracle 分区-列表分区 oracle 分区-散列分区 oracle 分区-组合分区 oracle 分区-分区表操作 hive 分区-创建分区表 hive 分区-分区表操作 hive 分区-动态分区表配置 上机练习 分区表 分区是将一…...
![](https://i-blog.csdnimg.cn/direct/8f65d30f51b746bba6113ac495044403.png)
【三维目标检测模型】ImVoteNet
【版权声明】本文为博主原创文章,未经博主允许严禁转载,我们会定期进行侵权检索。 参考书籍:《人工智能点云处理及深度学习算法》 本文为专栏《Python三维点云实战宝典》系列文章,专栏介绍地址“https://blog.csdn.net/suiyin…...
![](https://i-blog.csdnimg.cn/direct/1814d1ee8d3e42a2b8335bd894a16ee5.png)
力扣 | 背包dp | 279. 完全平方数、518. 零钱兑换 II、474. 一和零、377. 组合总和 Ⅳ
文章目录 一、279. 完全平方数二、518. 零钱兑换 II三、474. 一和零四、377. 组合总和 Ⅳ 一、279. 完全平方数 LeetCode:279. 完全平方数 朴素想法: 这个题目最简单的想法是,可以用 O ( n n ) O(n\sqrt{}n) O(n n)的动态规划解决&#x…...
![](https://i-blog.csdnimg.cn/direct/9781dfc70f394fa08d1a8ffc45055b48.gif#pic_center)
【ECMAScript性能优化的技巧与陷阱】
🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…...
![](https://www.ngui.cc/images/no-images.jpg)
Swift实时监听判断是否连接有网络WIFI和蜂窝数据
本章节讲解如何使用swift连接网络,实时的监听到网络的状态,在主界面中进行调用,网络包含Wi-Fi 和 蜂窝。 1.封装一个判断是否有网络的类 2.在封装类注册通知 3.主界面接收注册通知,并且调用封装的网络类 4.成功测试,有…...
![](https://www.ngui.cc/images/no-images.jpg)
(三)Flink Source 数据源
Flink 数据源主要分为内置数据源和第三方数据源。其中内置数据源包含文件、Socket 连接、集合类型数据等,不需要引入其它依赖库。第三方数据源定义了 Flink 和外部系统数据交互的逻辑,Flink 提供了非常丰富的数据源连接器,例如 Kafka、Elasticsearch、RabbitMQ、JDBC 等。 …...
![](https://i-blog.csdnimg.cn/direct/bffdf45957c445ea9b798fd64fde5a46.png)
第四届机电一体化、自动化与智能控制国际学术会议(MAIC 2024)
目录 大会官网 会议简介 组织机构 大会主席 程序委员会主席 主讲嘉宾 征稿主题 参会说明 大会官网 http://www.icmaic.org 会议简介 第四届机电一体化、自动化与智能控制国际学术会议(MAIC 2024)将于2024年9月27-29日在中国成都召开。MAIC 20…...
![](https://img-blog.csdnimg.cn/img_convert/49be074f2a38eee9c5e5f0ecdb78fbcd.png)
leetcode 089 打家劫舍
leetcode 089 打家劫舍 题目 一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响小偷偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定…...
![](https://www.ngui.cc/images/no-images.jpg)
等保测评基础知识(六)
《计算机病毒防治管理办法》51号令 第十四条 从事计算机设备或者媒体生产、销售、出租、维修行业的单位和个人,应当对计算机设备或者媒体进行计算机病毒检测、清除工作,并备有检测、清除的记录。 第十九条 计算机信息系统的使用单位有下列行为之一的,由公安机关处以警告…...
![](https://static.oschina.net/uploads/img/202408/16230019_cGVi.jpeg)
作业帮 TiDB 7.5.x 使用经验
作者: 是我的海 原文来源: https://tidb.net/blog/5f9784d3 近期在使用 TiDB 时遇到的一些小问题的梳理总结,大部分版本都在6.5.6和7.5.2 1、limit 导致的扫描量过大的优化 研发定时任务每天需要扫描大量数据,到时机器网卡被…...
![](https://i-blog.csdnimg.cn/direct/d37869226e9d491d94af1d56b4de1f65.png)
c语言练习题1
1.输出Helloword /*输出Helloword*/ #include<stdio.h> int main() {printf("Hello word!");return 0; }2.整型变量的定义与使用 /*整型变量的定义与使用*/ #include <stdio.h> int main() {int a;int b;a 10;b 20;int c a b;int d a - b;printf(…...
![](/images/no-images.jpg)
ps怎么做网站首页和超链接/软文推广广告公司
解决Eclipse删除Tomcat8后无法新增问题参考文章: (1)解决Eclipse删除Tomcat8后无法新增问题 (2)https://www.cnblogs.com/chiying/p/5642657.html 备忘一下。...
![](https://img-blog.csdnimg.cn/img_convert/6be371b4ea3a1297416d216242f1684e.png)
泉州网站建设选择讯呢/网络软文发布平台
转载: https://blog.51cto.com/darrenmemos/2151566 Redis Cluster特点 (1)Redis Cluster 共有16384(0-16383)个hash slots,数据写入时,根据CRC16(key)%16384 hash slots分配到不同的节点上; (2)当整个集群部分节点crash不影响继续使用&am…...
![](https://img-blog.csdnimg.cn/img_convert/42b9d358707ccccbdabf5297463fcb2a.png)
中石化网站群建设/关键词完整版免费听
安卓对应自身已连接的wifi密码,有简单方法可以做到。 1、例如现在很多新款手机可以直接在连接wifi右侧可以生成二维码,其他人扫描复制粘贴密码,即可连接wifi;(老旧机型可能没有这个功能) 2、通过文件管理器(比如re管理器)进入手机…...
![](/images/no-images.jpg)
江苏建设教育/电脑系统优化软件
我会持续分享一些我发现的好网站,帮助大家提高技术。谢谢。 1.发现一个很好的网站,可以下载一些文档,对于英语差的同学来说是一个福利。 网址:http://www.open-open.com/doc/ 网站名:OPEN开源文档。 2. 推荐一个python…...
![](/images/no-images.jpg)
电商网站制作/百度指数大数据
没有顺序关系,可前可后。...
![](https://static.oschina.net/uploads/img/201709/10010720_tt5b.png)
企业网站源码网/2345网址导航浏览器
摘要:本文介绍了一种新基于TensorFlow的python库——TensorLayer,它能够有效的帮助开发者管理好自己的深度学习网络。并且它还提供了很多功能强悍的API,帮助开发者更好的完成任务。 对于深度学习开发者来说,深度学习系统变得越来越…...