AIGC图片相关知识和实战经验(Flux.1,ComfyUI等等)

news2024/9/19 9:11:17

最近看了网上的一些新闻,flux.1火出圈了,因此自己也尝试跑了一下,作图的质量还是蛮高的,在这里做个知识总结回顾。

flux.1是什么?

根据介绍,flux.1是由stable diffusion 一作,Stability AI的核心成员Robin Rombach 和其他图像视频生成领域的专家创立的公司Black Forest Lab发布的开源模型。该模型上线后就引起了圈内大佬的关注,包括openai的Karpathy等。模型的参数量达到了120亿,应该是目前为止最大的图像生成模型。官博介绍,新模型在图像细节、提示词遵循、风格多样性和场景复杂性方面都取得了SOTA。

关于图像生成的效果,我们主要看两个方面:一个是好看,一个是听话(也就是忠实反映提示词的内容)。好看这个判断标准有一定的主观性,听话这个和它之前的模型(sdxl)等等相比,一对比就能发现它的长处。

跑flux.1需要什么环境配置?

Flux.1 发布了三个版本,其中pro版本是完全参数版本,需要显存应该比较大,没有跑过。dev版本是pro版本蒸馏后的模型,节省了使用的显存空间,生图质量相比pro版本下降较小。schnell版本是快速版本,相比dev版本,它的迭代步数从20步变成了4步,所以理论上生图速度相比于dev版本快5倍,但是生图质量会比dev差。跑一个dev或schnell版本的flux.1模型,+其他组件应该需要24G左右的显存+32G的内存。如果配置不够,可以考虑租一个云服务器。另外有大佬发布了fp8的量化版本,最低可以只需要12G显存就能跑。

文生图的原理是什么?有哪些模型组件?

文生图步骤:

步骤一: 使用CLIP Text Encode模型将输入的人类文本信息进行编码,生成与文本信息对应的Text Embeddings特征矩阵;
步骤二: 输入文本信息,再用random函数生成一个高斯噪声矩阵 作为Latent Feature(隐空间特征)的“替代” 输入到SD模型的 “图像优化模块” 中;
步骤三: 首先图像优化模块是由U-Net网络和Schedule算法 组成,将图像优化模块进行优化迭代后的Latent Feature输入到 图像解码器 (VAE Decoder) 中,将Latent Feature重建成像素级图。

模型文件基本都是safetensors格式。一个ComfyUI文生图工作流包括三个部分:主模型,文本编码器和解码器。主模型就是上面提到的flux.1模型,可以选择任意版本。文本编码器一般是clip模型,解码器就是ae(自编码器)解码,把图像从潜空间里还原成真实图像。那么为什么要有一个潜空间呢?第一是如果直接在全图大小用自编码器,计算量和空间需求太大了,撑不住。第二是训练模型难以收敛。第三是我们需要的是一个重构还原的过程,而不是百分百还原,这样我们可以保持模型在原图上修改创新的能力。

工作流,前端界面ComfyUI,SD WebUI Forge等。

ComfyUI是一个生图的前端界面,操作起来也很简单。首先把模型文件下载下来放到ComfyUI目录下的正确位置(unet,text_encoder,decoder)。从网站下一个工作流,通常是json格式,在ComfyUI界面load加载一下,然后点击Queue Prompt就可以执行图像生成过程了。同时comfyui也可以在工作流上增加删除修改节点,或者添加外部节点(通过Node Manager管理节点),开源社区有丰富的节点可以利用。

SD WebUI Forge也是一种生图的前端,但是他的界面更规整,更加傻瓜化。在SD WebUI的界面上,只需要在下拉菜单里选择模型文件就可以。但是看起来就不像ComfyUI那样自由那样可以自定义。

Flux的跟进项目

lora:一种模型微调范式,利用lora可以在只添加少量模型参数的情况下学习生成新图片的能力。

Controlnet:可以控制生成图片的风格,画面里的形象,动作姿势等等。可以在ComfyUI里添加controlnet节点。

IP adapter:通过一张参考图,生成想要的图片,即使输入的文字描述没有这一段。

Flux还在更新过程当中,限于目前的算力等限制还没能发挥全部的能力,我们还可以期待后续的更新版本的flux,在图像生成以及视频生成等领域的结果。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于ssm的个性化影片推荐系统设计与实现

需要项目源码请联系我,目前有各类成品 毕设 javaweb ssh ssm springboot等等项目框架,源码丰富。 专业团队,咨询就送开题报告,活动限时免费,有需要的朋友可以来咨询。 一、摘要 随着科学技术的飞速发展,社…

matlab DFT的点数与周期

只需要0——N-1个点就可以算得另一个域全部的信号 周期 时域信号的全部长度时一个周期,所以时域的周期化没有混叠 频域的周期与采样率有关,会混叠。 取一个周期进行傅里叶变换都是对于周期化后的信号取得,由于时域周期化不混叠,所…

全方位解读信息架构:从挑战到解决方案,推动企业数字化转型的全面指南

在数字经济迅猛发展的今天,信息架构 已经成为企业实现数字化转型、提高运营效率和优化 IT 投资的关键手段。无论是初创企业还是成熟企业,构建和实施有效的信息架构不仅能支持业务增长,还能确保数据安全和合规性。《信息架构:商业智…

node.js 中的进程和线程工作原理

本文所有的代码均基于 node.js 14 LTS 版本分析 概念 进程是对正在运行中的程序的一个抽象,是系统进行资源分配和调度的基本单位,操作系统的其他所有内容都是围绕着进程展开的 线程是操作系统能够进行运算调度的最小单位,其是进程中的一个执…

Zookeeper学习

文章目录 学习第 1 章 Zookeeper 入门1.1 概述Zookeeper工作机制 1.2 特点1.3 数据结构1.4 应用场景统一命名服务统一配置管理统一集群管理服务器动态上下线软负载均衡 1.5 下载zookeeper 第 2 章 Zookeeper 本地安装2.1 本地模式安装安装前准备配置修改操作 Zookeeper本地安装…

【三方演化博弈】模型构建与模型求解

一、背景介绍二、收益矩阵计算2.1 博弈主体策略2.2 概率2.3 具体公式2.4 计算过程(1)企业(2)政府(3)环境NGO 三、期望与复制动态方程3.1 企业平均期望3.2 政府平均期望3.3 环境NGO平均期望3.4 三方演化博弈…

旋转链表问题(python3)

旋转链表 问题描述解题思路代码实现 问题描述 给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。 输入&#xff1a;head [1,2,3,4,5], k 2 输出&#xff1a;[4,5,1,2,3] 链表中节点的数目在范围 [0, 500] 内-100 < Node.va…

robomimic基础教程(一)——基本概念

robosuite和robomimic都是由ARISE Initiative开发的开源工具&#xff0c;旨在推进机器人学习和机器人操作领域的研究。 一、基本概念 robomimic是一个用于机器人示范学习的框架。它提供了在机器人操作领域收集的大量示范数据集&#xff0c;以及用于从这些数据集中学习的离线学…

828华为云征文|华为云Flexus云服务器X实例之openEuler系统下打造EnBizCard个人电子名片

828华为云征文&#xff5c;华为云Flexus云服务器X实例之openEuler系统下打造EnBizCard个人电子名片 一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 一、EnBizCard介绍2.1 EnBizCard简介2.2 EnBizCard特点…

CSS调整背景

一、设置背景颜色 通过 background-color 属性指定&#xff0c;值可以是十六进制 #ffffff&#xff0c;也可以是rgb(0, 255, 255)&#xff0c;或是颜色名称 "red" div {background-color: red; /* 通过颜色名称设置 */background-color: #ff0000; /* 通过十六进制设…

数据结构和算法之线性结构

原文出处:数据结构和算法之线性结构 关注码农爱刷题&#xff0c;看更多技术文章&#xff01;&#xff01;&#xff01; 线性结构是一种逻辑结构&#xff0c;是我们编程开发工作应用最广泛的数据结构之一。线性结构是包含n个相同性质数据元素的有限序列。它的基本特征是&…

求和(2)

题目描述 输入两个正整数 l,r&#xff0c;编程计算 l(l1)(l2)...(r−1)r 的结果并输出。 输入格式 一行两个整数 l 和 r 输出格式 一个整数&#xff0c;根据题意计算后的结果 样例数据 样例输入#1 1 5样例输出#1 15样例输入#2 8 10样例输出#2 27数据范围 对于100%的…

刷题DAY38

原样输出 题目&#xff1a;给定一个数n&#xff0c;请原样输出 输入&#xff1a;输入只有一个数&#xff0c;可能为小数&#xff0c;也可能为整数&#xff0c;-1000000<n<1000000 输出&#xff1a;原样输出 输入&#xff1a;1.123 输出&#xff1a;1.123 import ja…

鸿蒙媒体开发系列01——资源分类访问

如果你也对鸿蒙开发感兴趣&#xff0c;加入“Harmony自习室”吧&#xff01;扫描下方名片&#xff0c;关注公众号&#xff0c;公众号更新更快&#xff0c;同时也有更多学习资料和技术讨论群。 1、概述 应用开发过程中&#xff0c;经常需要用到颜色、字体、间距、图片等资源&am…

代码随想录刷题day34丨 62.不同路径 ,63. 不同路径 II

代码随想录刷题day34丨 62.不同路径 &#xff0c;63. 不同路径 II 1.题目 1.1不同路径 题目链接&#xff1a;62. 不同路径 - 力扣&#xff08;LeetCode&#xff09; 视频讲解&#xff1a;动态规划中如何初始化很重要&#xff01;| LeetCode&#xff1a;62.不同路径_哔哩哔哩…

【Linux】-基本指令(上)

&#x1f511;&#x1f511;博客主页&#xff1a;阿客不是客 &#x1f353;&#x1f353;系列专栏&#xff1a;深入代码世界&#xff0c;了解掌握 Linux 欢迎来到泊舟小课堂 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 与Windows环境不同&#xff0c;我们…

ASCII字符和中文字符的显示

目录 前言 ASCII字符的点阵显示 获取点阵 描点 main 中文字符的点阵显示 指定编码格式 汉字区位码 汉字点阵显示实验 打开汉字库文件 编写显示汉字的函数 使用 lcd_put_chinese 函数 前言 板子为韦东山老师的imx6ull板&#xff0c;要在LCD上实现字符的显示&#xf…

idea集成和使用Git指南

前言 Git是一个分布式的版本控制工具&#xff0c;可以管理我们开发过程中的源代码文件&#xff0c;而idea是Java的集成开发环境&#xff0c;在idea中配置Git&#xff0c;可以提高我们的团队开发效率。因此在idea中集成Git并使用Git管理我们的源代码是必要的 第一步&#xff1a;…

多线程的高手——海王(浅谈线程概念)

听到大海的声音了吗 让我想想炉石里面能被成为海王的卡牌 我个人感觉 就是拿着三叉戟的甲壳元素 可是这牌被删了我心痛 背景知识 还是地址空间那点破事&#xff01; OS进行内存管理&#xff0c;不是以字节为单位的&#xff0c;而是以内存块为单位的&#xff01; 默认是4k…

Halo 开发者指南——项目运行、构建

准备工作 环境要求 OpenJDK 17 LTSNode.js 20 LTSpnpm 9IntelliJ IDEAGitDocker&#xff08;可选&#xff09; 名词解释 工作目录 指 Halo 所依赖的工作目录&#xff0c;在 Halo 运行的时候会在系统当前用户目录下产生一个 halo-next 的文件夹&#xff0c;绝对路径为 ~/ha…