0


【技术前沿】Flux.1部署教程入门--Stable Diffusion团队最前沿、免费的开源AI图像生成器

项目简介

FLUX.1 是一种新的开源图像生成模型。它由 Stable Diffusion 背后的团队 Black Forest Labs 开发。
官网中有以下功能开源供大家参考:

  1. FLUX.1 擅长在图像中准确再现文字,因此非常适合需要清晰文字或短语的设计。无论是标牌、书籍封面还是品牌内容,FLUX.1 都能提供清晰、正确的文字整合。
  2. 利用 FLUX.1 对空间关系的高级理解,轻松创建复杂场景。从精致的幻想世界到详细的产品布局,该模型都能准确地解释和执行多元素提示。
  3. FLUX.1 在渲染人体特征,尤其是手部特征方面实现了重大飞跃。虽然并非完美无瑕,但与以前的开源模型相比,它始终能生成更逼真、比例更协调的身体部位,从而提升人物图像的质量。 并且它是免费的! 由于项目是英文的,博主在这里做一版中文教程,给后来人一些参考。 关注CSDN 心若为城,获得计算机领域与人工智能领域的前沿技术。

博主碎碎念,可跳过:
打算重新做做自己这个老号,高中时候开始做CSDN,那会儿写的是NOIP/NOI相关的算法东西,纯粹是写给自己看的;现在时隔多年,我也在清华站稳了脚跟,在互联网开发和量化交易领域都算是小有成就了。

接下来这个号(也许也不止这个号)应该会做三个方向:
AI新技术(或者不局限于AI)的抢先浏览,会向大家说明当下热点论文、热点技术的部署等,以及做一些周报或者日报。(类似于AI Weekly)
量化交易相关,我在量化开发技术栈有着多年的开发经验,也拿过一些投资比赛的奖项。可以面向应届生给出就业规划,提供一些指导的同时分享一些含金量高的项目。
互联网面试相关,我应该会着重于分享一些面试的底层技术面,并且尽可能和2进行一些结合,让大家同时能handle住两边的技术。

以下是正文:

原项目地址

安装教程

本地安装

cd$HOME&&git clone https://github.com/black-forest-labs/flux
cd$HOME/flux
python3.10 -m venv .venv
source .venv/bin/activate
pip install-e'.[all]'

模型

我们提供了三个模型:

使用方法

当您启动其中一个演示时,权重将自动从 HuggingFace 下载。要下载

FLUX.1 [dev]

,您需要先登录,详见这里。
如果您已经手动下载了模型权重,可以通过环境变量指定下载路径:

exportFLUX_SCHNELL=<path_to_flux_schnell_sft_file>exportFLUX_DEV=<path_to_flux_dev_sft_file>exportAE=<path_to_ae_sft_file>

要进行交互式采样,请运行

python -m flux --name<name>--loop

或者要生成单个样本,请运行

python -m flux --name<name>\--height<height>--width<width>\--prompt"<prompt>"

我们还提供了一个同时支持文本到图像和图像到图像的 Streamlit 演示。可以通过以下命令运行演示

streamlit run demo_st.py

我们还提供了基于 Gradio 的演示以获得互动体验。要运行 Gradio 演示:

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

选项:

  • --name: 选择要使用的模型(选项:“flux-schnell”, “flux-dev”)
  • --device: 指定要使用的设备(默认:“cuda”,如果可用,否则为 “cpu”)
  • --offload: 模型未使用时卸载到 CPU
  • --share: 创建您的演示的公共链接

要使用 dev 模型运行演示并创建公共链接:

python demo_gr.py --name flux-dev --share

Diffusers 集成

FLUX.1 [schnell]

FLUX.1 [dev]

已集成到 🧨 diffusers 库中。要在 diffusers 中使用它,请安装:

pip install git+https://github.com/huggingface/diffusers.git

然后您可以使用

FluxPipeline

来运行模型

import torch
from diffusers import FluxPipeline

model_id ="black-forest-labs/FLUX.1-schnell"# 您也可以使用 `black-forest-labs/FLUX.1-dev`

pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", torch_dtype=torch.bfloat16)
pipe.enable_model_cpu_offload()# 通过将模型卸载到 CPU 来节省一些 VRAM。如果您的 GPU 足够强大,可以删除此行

prompt ="A cat holding a sign that says hello world" 
seed =42
image = pipe(
    prompt,
    output_type="pil",
    num_inference_steps=4,# 如果您使用 [dev],请使用更大的数值
    generator=torch.Generator("cpu").manual_seed(seed)).images[0]
image.save("flux-schnell.png")

要了解更多信息,请查看 diffusers 文档。

API 使用

我们的 API 提供对 pro 模型的访问。API 文档可以在这里找到:docs.bfl.ml。

在这个仓库中,我们还提供了一个简便的 Python 接口。要使用该接口,您首先需要在 api.bfl.ml 上注册,并创建一个新的 API 密钥。

要使用 API 密钥,您可以运行

export BFL_API_KEY=<your_key_here>

,或者通过

api_key=<your_key_here>

参数提供密钥。还需要确保您已经按照上面的说明安装了相关包。

从 Python 使用:

from flux.api import ImageRequest

# 这将直接创建一个 API 请求,但不会在生成完成之前阻塞
request = ImageRequest("A beautiful beach")# 或者:request = ImageRequest("A beautiful beach", api_key="your_key_here")# 以下任意一个操作都会阻塞,直到生成完成
request.url
# -> https:<...>/sample.jpg
request.bytes# -> b"..." 生成的图像字节
request.save("outputs/api.jpg")# 将生成的图像保存到本地
request.image
# -> 一个 PIL 图像

从命令行使用:

$ python -m flux.api --prompt="A beautiful beach" url
https:<...>/sample.jpg

# 生成并保存结果
$ python -m flux.api --prompt="A beautiful beach" save outputs/api

# 直接打开图像
$ python -m flux.api --prompt="A beautiful beach" image show

本文转载自: https://blog.csdn.net/zxn0803/article/details/141115064
版权归原作者 心若为城 所有, 如有侵权,请联系我们删除。

“【技术前沿】Flux.1部署教程入门--Stable Diffusion团队最前沿、免费的开源AI图像生成器”的评论:

还没有评论