政安晨【零基础玩转各类开源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使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20