【黑森林官方墙裂推荐】FLUX.1-Fill-dev 能够自由实现图像编辑的工具

在这里插入图片描述
FLUX.1 Fill [dev] 是一个 120 亿参数的整流变换器,能够根据文字描述填充现有图像中的区域。 更多信息,请阅读我们的博文

主要特点

  1. 最先进的输出质量,仅次于我们最先进的模型 FLUX.1 Fill [pro]。
  2. 将令人印象深刻的提示与完成源图像的结构相结合。 使用引导蒸馏法进行训练,使 FLUX.1 Fill [dev] 更高效。
  3. 开放权重以推动新的科学研究,并授权艺术家开发创新的工作流程。
  4. 生成的输出可用于 FLUX.1 [dev] 非商业许可中所述的个人、科学和商业目的。

使用方法

我们在专门的 github 存储库中提供了 FLUX.1 Fill [dev] 的参考实现以及示例代码。 我们鼓励希望在 FLUX.1 Fill [dev] 基础上进行开发的开发人员和创意人员以此为起点。

在这里插入图片描述

diffusers

要将 FLUX.1 Fill [dev] 与 🧨 diffusers python 库一起使用,首先要安装或升级 diffusers

pip install -U diffusers

然后可以使用 FluxFillPipeline 运行模型

import torch
from diffusers import FluxFillPipeline
from diffusers.utils import load_image

image = load_image("https://huggingface.co/datasets/diffusers/diffusers-images-docs/resolve/main/cup.png")
mask = load_image("https://huggingface.co/datasets/diffusers/diffusers-images-docs/resolve/main/cup_mask.png")

pipe = FluxFillPipeline.from_pretrained("black-forest-labs/FLUX.1-Fill-dev", torch_dtype=torch.bfloat16).to("cuda")
image = pipe(
    prompt="a white paper cup",
    image=image,
    mask_image=mask,
    height=1632,
    width=1232,
    guidance_scale=30,
    num_inference_steps=50,
    max_sequence_length=512,
    generator=torch.Generator("cpu").manual_seed(0)
).images[0]
image.save(f"flux-fill-dev.png")

按照上面的方式运行显存必爆无疑。给你们长长眼,什么叫排爆技术

import torch
from diffusers import FluxFillPipeline, FluxTransformer2DModel, BitsAndBytesConfig
from diffusers.utils import load_image

model_id = "black-forest-labs/FLUX.1-Fill-dev"

image = load_image("https://hf-mirror.com/datasets/diffusers/diffusers-images-docs/resolve/main/cup.png")
mask = load_image("https://hf-mirror.com/datasets/diffusers/diffusers-images-docs/resolve/main/cup_mask.png")

nf4_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16
)

model_nf4 = FluxTransformer2DModel.from_pretrained(
    model_id,
    subfolder="transformer",
    quantization_config=nf4_config,
    torch_dtype=torch.bfloat16
)

pipe = FluxFillPipeline.from_pretrained(model_id, 
                                        transformer=model_nf4,
                                        torch_dtype=torch.bfloat16)#.to("cuda")

pipe.enable_model_cpu_offload()

image = pipe(
    prompt="a white paper cup",
    image=image,
    mask_image=mask,
    height=1632,
    width=1232,
    guidance_scale=30,
    num_inference_steps=50,
    max_sequence_length=512,
    generator=torch.Generator("cpu").manual_seed(0)
).images[0]
image.save(f"flux-fill-dev.png")

在这里插入图片描述

局限性

  • 本模型无意也无法提供事实信息。
  • 作为一个统计模型,本检查点可能会放大现有的社会偏见。 本模型可能无法生成与提示相符的输出。
  • 提示遵循在很大程度上受提示风格的影响。
  • 未填充区域可能会有轻微的颜色偏移。
  • 填充复杂纹理可能会在填充区域的边缘产生线条。

我还会在随后介绍黑森林其他相关的模型,请不要吝啬你们的点赞,敬请关注期待🤗🤗🤗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值