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