政安晨【零基础玩转各类开源AI项目】基于本地Linux Ubuntu系统部署及应用强大的图像推理模型:FLUX

本文主要是介绍政安晨【零基础玩转各类开源AI项目】基于本地Linux Ubuntu系统部署及应用强大的图像推理模型:FLUX,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

简介

下载项目

创建虚拟环境

安装依赖

启动项目

使用

在线使用

本地部署


政安晨的个人主页:政安晨

欢迎 👍点赞✍评论⭐收藏

希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正!

本文目标部署并应用FLUX(基于已经释放出来的模型进行) 

简介

黑森林实验室的 FLUX 模型是一个具有创新性和强大性能的文本生成图像模型套件。

其主要特点如下:

  • 多种版本满足不同需求
    • flux.1pro:定位商业版,是旗舰模型,支持企业定制解决方案,具备最佳性能,包括最先进的提示跟随能力、卓越的视觉质量、丰富的图像细节以及多样化的输出格式。不过该版本目前仅通过 API 提供,属于闭源版本。
    • flux.1dev:定位科研(开源)版,主要面向非商业用途,开放权重,适合研究和开发者使用。它是从 flux.1pro 蒸馏而来,具有相似的图像质量和提示词遵循能力,但在相同尺寸下比标准模型更高效。
    • flux.1schnell:这是一个 “小模型”,是在 flux.1 基础上进行精简的版本,适合本地开发和个人使用,采用 Apache2.0 授权,生成速度最快,内存占用也最小。
  • 性能优势明显
    • 出色的图像生成能力:FLUX 模型可以即时根据用户提示词生成各种高质量的图像,在视觉质量、图像细节和输出多样性等方面表现优越,能处理复杂的文字生成、遵循复杂构图指示以及生成相对较好的人手图像(尽管还不够完美,但有很大进步)。例如,它可以准确处理包含大段文字、多个人物的场景,且在生成人物躺倒姿势等复杂情况时不会出现崩坏,在清晰度、细节逼真度和复杂场景生成等方面表现出色。
    • 对提示词的良好理解:经过特别微调,在预训练中保留了整个输出多样性,在指令遵守、视觉质量、尺寸 / 长宽变化等多个方面树立了新标准,尤其在复杂英文文本生成、多人场景、提示词理解遵循等方面表现突出,例如能准确处理多人场景,面部、手部细节不会扭曲崩坏,生成超长文本时无论是内容还是排版都较为标准到位,还能有效防止提示词泄露的情况发生,准确生成画面内容。
    • 高训练参数:训练参数高达 120 亿,使其能够提供与文生图领域的头部模型 midjourney 相媲美的视觉效果。
  • 技术架构先进:采用了基于多模态和并行扩散 transformer 模块的混合架构,并将其扩展到 120 亿参数。团队通过建立流匹配(flow matching)来改进最先进的扩散模型,并通过结合旋转位置嵌入(rotary position embedding)和并行注意力层,来提高模型性能和硬件效率。

总体而言,FLUX 模型的出现为图像生成领域带来了新的活力和竞争力,其开源的特性也为开发者和研究人员提供了更多的机会和可能性,有望推动相关领域的进一步发展。

下载项目

git clone git@github.com:black-forest-labs/flux.git

创建虚拟环境

conda create -n flux python=3.10 pip

激活虚拟环境:

conda activate flux

安装依赖

在项目目录中,执行安装依赖:

pip install -e '.[all]'

启动项目

推荐使用Gradio构建的交互界面来启动项目:

python demo_gr.py --name flux-schnell --device cuda

或者,可以启动一个dev版本的:

python demo_gr.py --name flux-dev --device cuda

当然,小伙伴们一定要准备好足够的磁盘空间和内存以及显存。

使用

其实FLUX模型的使用有很多方法:

在线使用

  1. Replicate 在线试玩:访问Replicate 网站,该平台提供了黑森林实验室 FLUX 模型的全部三款模型(flux.1 (pro)、flux.1 (dev) 和 flux.1 (schnell))的免费试用途径。在这里,您可以自定义提示词、图像尺寸等,生成速度通常较快。
  2. FAL 在线试玩:前往FAL 网站,同样支持 FLUX 模型的全部三款模型的生成体验,新用户一般会有免费试用额度。

本地部署

(以 flux.1 (dev) 为例,在 ComfyUI 中使用)

前提条件想顺畅使用此模型最好有 16G 的显存,8G 或 12G 虽然也可以运行,但生成速度可能较慢。

  1. 安装 ComfyUI:并将其更新到最新版本。
  2. 下载相关模型文件
    • 下载 ae.sft 模型,安装到 ComfyUI/models/vae 文件夹,为方便识别,可以将其改名为 flux_ae.sft。
    • 下载 flux1-dev.sft 文件,安装到 ComfyUI/models/unet 文件夹。如果您的显存比较小,可以下载 ComfyUI 官方发布的 flux1-dev-fp8.safetensors 模型文件,放到 checkpoints 大模型所在的文件夹。
    • 下载 clip_l.safetensors 和 t5xxl_fp8_e4m3fn.safetensors 文件,安装到根目录的 ComfyUI/models/clip 文件夹中(如果您之前安装过 SD3Medium 模型,那么这两个文件可能已经具备,不需要再次下载)。
  3. 模型安装后的设置:模型安装好之后,还需要对电脑系统和 ComfyUI 做出一些设置(具体设置可参考相关教程或说明文档)。

使用时,根据您的需求选择合适的版本和使用方式,通过输入描述性的提示词来引导模型生成图像。

例如,如果您使用在线平台,在相应的输入框中输入提示词;

如果是本地部署,在配置好的环境中通过相应的操作界面输入提示词等参数来启动生成过程。

需要注意的是,不同版本的 FLUX 模型在性能、功能和适用场景上可能会有所差异,您可以根据自己的具体需求和实际情况进行选择和使用。同时,随着技术的发展和平台的更新,具体的使用方法和步骤可能会有所变化,建议参考官方文档或相关的技术社区获取最新的信息和指导。


如果您的显卡确实内存不够(如上所示),增加使用 --offload选项。

OK,至此把FLUX运行起来。

希望小伙伴们借助这款工具框架可以探索更多有趣的AI世界。

 

这篇关于政安晨【零基础玩转各类开源AI项目】基于本地Linux Ubuntu系统部署及应用强大的图像推理模型:FLUX的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092629

相关文章

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Spring AI使用tool Calling和MCP的示例详解

《SpringAI使用toolCalling和MCP的示例详解》SpringAI1.0.0.M6引入ToolCalling与MCP协议,提升AI与工具交互的扩展性与标准化,支持信息检索、行动执行等... 目录深入探索 Spring AI聊天接口示例Function CallingMCPSTDIOSSE结束语

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat