Ffusionxl BASE
模型简介
FFusionXL-BASE是一个基于SDXL的文本到图像生成模型,能够依据文本提示生成和修改图像。它优化了训练速度,适用于多种应用场景,支持多语言训练,架构稳定可靠。
模型特点
快速训练
针对高速训练进行了优化,可实现快速实验。
通用性
适用于从自然语言处理到计算机视觉等各种应用和标准。
自主训练
可作为基础来训练符合自身需求的自定义模型。
多语言支持
支持使用多种语言训练模型。
稳健架构
基于成熟技术构建,确保稳定性和可靠性。
模型能力
文本到图像生成
图像修改
多语言支持
快速训练
使用案例
艺术创作
生成艺术作品
根据文本提示生成艺术作品,如'达芬奇风格的暴风雨中的帆船'。
生成高质量的艺术图像。
设计
角色设计
生成多视角的同一角色设计,如'穿着黑色束腰和粉色乳胶衬衫的美丽赛博女性'。
生成一致的角色设计图像。
图像优化
图像优化
使用图像到图像生成功能优化现有图像。
生成更高质量的图像。
🚀 FFusionXL-BASE模型
FFusionXL-BASE是一个基于SDXL的文本到图像生成模型,能依据文本提示生成和修改图像。它优化了训练速度,适用于多种应用场景,支持多语言训练,架构稳定可靠。
✨ 主要特性
- 🚀 快速训练:针对高速训练进行了优化,可实现快速实验。
- 🧩 通用性:适用于从自然语言处理到计算机视觉等各种应用和标准。
- 🎓 自主训练:可作为基础来训练符合自身需求的自定义模型。
- 🌐 多语言支持:支持使用多种语言训练模型。
- 🛡️ 稳健架构:基于成熟技术构建,确保稳定性和可靠性。
📦 安装指南
安装依赖
在使用模型前,需要安装相关依赖库。以下是不同场景下的安装命令:
安装diffusers及相关库
pip install diffusers --upgrade
pip install invisible_watermark transformers accelerate safetensors
安装训练依赖
git clone https://github.com/huggingface/diffusers
cd diffusers
pip install -e .
cd examples/text_to_image
pip install -r requirements_sdxl.txt
初始化Accelerate环境
accelerate config
# 或者使用默认配置
accelerate config default
# 若环境不支持交互式shell
from accelerate.utils import write_basic_config
write_basic_config()
💻 使用示例
基础用法
ONNX模型文本到图像生成
from optimum.onnxruntime import ORTStableDiffusionPipeline
model_id = "FFusion/FFusionXL-BASE"
pipeline = ORTStableDiffusionPipeline.from_pretrained(model_id)
prompt = "sailing ship in storm by Leonardo da Vinci"
images = pipeline(prompt).images
OpenVINO模型文本到图像生成
from optimum.intel import OVStableDiffusionXLPipeline
model_id = "FFusion/FFusionXL-BASE"
base = OVStableDiffusionXLPipeline.from_pretrained(model_id)
prompt = "train station by Caspar David Friedrich"
image = base(prompt).images[0]
image.save("train_station.png")
高级用法
文本反转的文本到图像生成
from optimum.intel import OVStableDiffusionXLPipeline
import numpy as np
model_id = "FFusion/FFusionXL-BASE"
prompt = "charturnerv2, multiple views of the same character in the same outfit, a character turnaround of a beautiful cyber female wearing a black corset and pink latex shirt, scifi best quality, intricate details."
np.random.seed(0)
base = OVStableDiffusionXLPipeline.from_pretrained(model_id, export=False, compile=False)
base.compile()
image1 = base(prompt, num_inference_steps=50).images[0]
image1.save("sdxl_without_textual_inversion.png")
# 重置稳定扩散管道
base.clear_requests()
# 加载文本反转嵌入
base.load_textual_inversion("./charturnerv2.pt", "charturnerv2")
# 在第一次推理前编译模型
base.compile()
image2 = base(prompt, num_inference_steps=50).images[0]
image2.save("sdxl_with_textual_inversion.png")
图像到图像生成
from optimum.intel import OVStableDiffusionXLImg2ImgPipeline
from diffusers.utils import load_image
model_id = "FFusion/FFusionXL-BASE-refiner-1.0"
pipeline = OVStableDiffusionXLImg2ImgPipeline.from_pretrained(model_id, export=True)
url = "https://huggingface.co/datasets/optimum/documentation-images/resolve/main/intel/openvino/sd_xl/castle_friedrich.png"
image = load_image(url).convert("RGB")
prompt = "medieval castle by Caspar David Friedrich"
image = pipeline(prompt, image=image).images[0]
pipeline.save_pretrained("openvino-FF-xl-refiner-1.0")
图像输出优化
from optimum.intel import OVStableDiffusionXLImg2ImgPipeline
model_id = "FFusion/FFusionXL-BASE-refiner-1.0"
refiner = OVStableDiffusionXLImg2ImgPipeline.from_pretrained(model_id, export=True)
image = base(prompt=prompt, output_type="latent").images[0]
image = refiner(prompt=prompt, image=image[None, :]).images[0]
📚 详细文档
模型描述
FFusionXL "Base" 是一个旨在加速训练过程的基础模型。它设计灵活,可作为基础来训练符合各种标准的自定义模型,促进创新并提高效率。
可用格式
属性 | 详情 |
---|---|
模型类型 | 基于扩散的文本到图像生成模型 |
训练者 | FFusion AI |
许可证 | FFXL研究许可证 |
模型描述 | 这是一个基于SDXL的预训练模型,可根据文本提示生成和修改图像。它是一个潜在扩散模型,使用两个固定的预训练文本编码器(OpenCLIP-ViT/G和CLIP-ViT/L)。 |
更多信息资源 | SDXL论文(arXiv) |
模型来源
ONNX版本
我们自豪地宣布推出完全优化的Microsoft ONNX版本,该版本仅与最新的DirectML执行提供程序兼容。所有ONNX文件均已优化(量化)为fp16,以实现跨所有设备的快速推理和训练。
Vae_Decoder保持为fp32,设置如下:
"float16": false,
"use_gpu": true,
"keep_io_types": true,
"force_fp32_ops": ["RandomNormalLike"]
以避免出现黑屏和渲染损坏的问题。一旦有适用于全fp16 VAE解码器的解决方案,我们将进行更新。VAE编码器和其他部分已完全优化🤟。
我们的ONNX使用ONNX v8进行了优化:
- 生产者:onnxruntime.transformers 1.15.1
- 导入:ai.onnx v18, com.microsoft.nchwc v1, ai.onnx.ml v3, com.ms.internal.nhwc v19, ai.onnx.training v1, ai.onnx.preview.training v1, com.microsoft v1, com.microsoft.experimental v1, org.pytorch.aten v1, com.microsoft.dml v1, graph: torch_jit
ONNX详情
NETRON详情:
安装NETRON
macOS:下载 .dmg
文件或运行 brew install --cask netron
Linux:下载 .AppImage
文件或运行 snap install netron
Windows:下载 .exe
安装程序或运行 winget install -s winget netron
AMD对Microsoft® DirectML优化Stable Diffusion的支持
AMD已发布对Microsoft DirectML优化Stable Diffusion的支持,并与Microsoft密切合作,以在AMD设备上实现最佳性能。
Intel® OpenVINO™ 版本
模型还包含一个已转换的Intel® OpenVINO™ 模型,用于推理测试和训练,目前尚未进行量化和优化。
训练指南
训练命令
export MODEL_NAME="FFusion/FFusionXL-BASE"
export VAE="madebyollin/sdxl-vae-fp16-fix"
export DATASET_NAME="lambdalabs/pokemon-blip-captions"
accelerate launch train_text_to_image_sdxl.py \
--pretrained_model_name_or_path=$MODEL_NAME \
--pretrained_vae_model_name_or_path=$VAE \
--dataset_name=$DATASET_NAME \
--enable_xformers_memory_efficient_attention \
--resolution=512 --center_crop --random_flip \
--proportion_empty_prompts=0.2 \
--train_batch_size=1 \
--gradient_accumulation_steps=4 --gradient_checkpointing \
--max_train_steps=10000 \
--use_8bit_adam \
--learning_rate=1e-06 --lr_scheduler="constant" --lr_warmup_steps=0 \
--mixed_precision="fp16" \
--report_to="wandb" \
--validation_prompt="a cute Sundar Pichai creature" --validation_epochs 5 \
--checkpointing_steps=5000 \
--output_dir="sdxl-pokemon-model" \
--push_to_hub
注意:
train_text_to_image_sdxl.py
(diffusers/examples/text_to_image)脚本会预先计算文本嵌入和VAE编码并将其保留在内存中。对于像lambdalabs/pokemon-blip-captions
这样的小数据集可能不会有问题,但在处理大数据集时可能会导致内存问题。
🔧 技术细节
评估指标
指标类型 | 数值 | 指标名称 | 是否验证 |
---|---|---|---|
is | 4.9797071218490601 | 初始分数(Inception Score) | 是 |
fid | 311.33686580590006 | 弗雷歇初始距离(Fréchet Inception Distance) | 是 |
text-image-similarity | 14.368797302246094 | 相似度分数(CLIP) | 是 |
📄 许可证
本模型遵循FFXL研究许可证。
Stable Diffusion V1 5
Openrail
稳定扩散是一种潜在的文本到图像扩散模型,能够根据任何文本输入生成逼真的图像。
图像生成
S
stable-diffusion-v1-5
3.7M
518
Stable Diffusion Inpainting
Openrail
基于稳定扩散的文本到图像生成模型,具备图像修复能力
图像生成
S
stable-diffusion-v1-5
3.3M
56
Stable Diffusion Xl Base 1.0
SDXL 1.0是基于扩散的文本生成图像模型,采用专家集成的潜在扩散流程,支持高分辨率图像生成
图像生成
S
stabilityai
2.4M
6,545
Stable Diffusion V1 4
Openrail
稳定扩散是一种潜在文本到图像扩散模型,能够根据任意文本输入生成逼真图像。
图像生成
S
CompVis
1.7M
6,778
Stable Diffusion Xl Refiner 1.0
SD-XL 1.0优化器模型是Stability AI开发的图像生成模型,专为提升SDXL基础模型生成的图像质量而设计,特别擅长最终去噪步骤处理。
图像生成
S
stabilityai
1.1M
1,882
Stable Diffusion 2 1
基于扩散的文本生成图像模型,支持通过文本提示生成和修改图像
图像生成
S
stabilityai
948.75k
3,966
Stable Diffusion Xl 1.0 Inpainting 0.1
基于Stable Diffusion XL的潜在文本到图像扩散模型,具备通过遮罩进行图像修复的功能
图像生成
S
diffusers
673.14k
334
Stable Diffusion 2 Base
基于扩散的文生图模型,可根据文本提示生成高质量图像
图像生成
S
stabilityai
613.60k
349
Playground V2.5 1024px Aesthetic
其他
开源文生图模型,能生成1024x1024分辨率及多种纵横比的美学图像,在美学质量上处于开源领域领先地位。
图像生成
P
playgroundai
554.94k
723
Sd Turbo
SD-Turbo是一款高速文本生成图像模型,仅需单次网络推理即可根据文本提示生成逼真图像。该模型作为研究原型发布,旨在探索小型蒸馏文本生成图像模型。
图像生成
S
stabilityai
502.82k
380
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98