政安晨【零基础玩转各类开源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

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流