FLUX.1 Fill [dev] 是一个 120 亿参数的整流变换器,能够根据文字描述填充现有图像中的区域。 更多信息,请阅读我们的博文。
主要特点
- 最先进的输出质量,仅次于我们最先进的模型 FLUX.1 Fill [pro]。
- 将令人印象深刻的提示与完成源图像的结构相结合。 使用引导蒸馏法进行训练,使 FLUX.1 Fill [dev] 更高效。
- 开放权重以推动新的科学研究,并授权艺术家开发创新的工作流程。
- 生成的输出可用于 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")
局限性
- 本模型无意也无法提供事实信息。
- 作为一个统计模型,本检查点可能会放大现有的社会偏见。 本模型可能无法生成与提示相符的输出。
- 提示遵循在很大程度上受提示风格的影响。
- 未填充区域可能会有轻微的颜色偏移。
- 填充复杂纹理可能会在填充区域的边缘产生线条。
我还会在随后介绍黑森林其他相关的模型,请不要吝啬你们的点赞,敬请关注期待🤗🤗🤗