模型概述
模型特點
模型能力
使用案例
🚀 Animagine XL 3.0
Animagine XL 3.0是一款先進的開源動漫文生圖模型的最新版本,它基於前作Animagine XL 2.0的能力進行開發。該模型基於Stable Diffusion XL構建,在圖像生成方面表現卓越,尤其在手部解剖結構、標籤排序效率和動漫概念理解等方面有顯著提升。與前作不同的是,本版本著重讓模型學習概念而非美學風格。
🚀 快速開始
Animagine XL 3.0可通過Gradio和Google Colab等用戶友好的平臺訪問:
要使用Animagine XL 3.0,請按以下步驟安裝所需庫:
pip install diffusers --upgrade
pip install transformers accelerate safetensors
以下是使用Animagine XL 3.0生成圖像的示例腳本:
import torch
from diffusers import (
StableDiffusionXLPipeline,
EulerAncestralDiscreteScheduler,
AutoencoderKL
)
# 加載VAE組件
vae = AutoencoderKL.from_pretrained(
"madebyollin/sdxl-vae-fp16-fix",
torch_dtype=torch.float16
)
# 配置管道
pipe = StableDiffusionXLPipeline.from_pretrained(
"Linaqruf/animagine-xl-3.0",
vae=vae,
torch_dtype=torch.float16,
use_safetensors=True,
)
pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config)
pipe.to('cuda')
# 定義提示並生成圖像
prompt = "1girl, arima kana, oshi no ko, solo, upper body, v, smile, looking at viewer, outdoors, night"
negative_prompt = "nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name"
image = pipe(
prompt,
negative_prompt=negative_prompt,
width=832,
height=1216,
guidance_scale=7,
num_inference_steps=28
).images[0]
✨ 主要特性
- 先進的圖像生成能力:基於Stable Diffusion XL開發,在圖像生成方面表現卓越,尤其在手部解剖結構、標籤排序效率和動漫概念理解等方面有顯著提升。
- 概念學習優先:著重讓模型學習概念而非美學風格,能夠更好地理解和生成特定概念的動漫圖像。
- 支持多種平臺:可通過Gradio和Google Colab等用戶友好的平臺訪問。
📦 安裝指南
要使用Animagine XL 3.0,請按以下步驟安裝所需庫:
pip install diffusers --upgrade
pip install transformers accelerate safetensors
💻 使用示例
基礎用法
import torch
from diffusers import (
StableDiffusionXLPipeline,
EulerAncestralDiscreteScheduler,
AutoencoderKL
)
# 加載VAE組件
vae = AutoencoderKL.from_pretrained(
"madebyollin/sdxl-vae-fp16-fix",
torch_dtype=torch.float16
)
# 配置管道
pipe = StableDiffusionXLPipeline.from_pretrained(
"Linaqruf/animagine-xl-3.0",
vae=vae,
torch_dtype=torch.float16,
use_safetensors=True,
)
pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config)
pipe.to('cuda')
# 定義提示並生成圖像
prompt = "1girl, arima kana, oshi no ko, solo, upper body, v, smile, looking at viewer, outdoors, night"
negative_prompt = "nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name"
image = pipe(
prompt,
negative_prompt=negative_prompt,
width=832,
height=1216,
guidance_scale=7,
num_inference_steps=28
).images[0]
高級用法
在使用過程中,可以根據需要調整提示詞和參數,以獲得不同風格和質量的圖像。例如,使用特殊標籤和質量修飾符可以更好地控制圖像的質量和風格。
📚 詳細文檔
模型詳情
屬性 | 詳情 |
---|---|
開發者 | Linaqruf |
模型類型 | 基於擴散的文生圖生成模型 |
模型描述 | Animagine XL 3.0旨在根據文本提示生成高質量的動漫圖像。它具有增強的手部解剖結構、更好的概念理解和提示解釋能力,是該系列中最先進的模型。 |
許可證 | Fair AI Public License 1.0 - SD |
微調基礎模型 | Animagine XL 2.0 |
提示詞使用指南
標籤排序
本次迭代的提示詞使用方式略有不同,為了獲得最佳效果,建議遵循以下結構化提示模板,因為模型是按照這種方式進行訓練的:
1girl/1boy, 角色名稱, 出自哪個系列, 其他內容可任意排序。
特殊標籤
與前作一樣,本模型在訓練時使用了一些特殊標籤,以引導生成結果在質量、評級和發佈時間等方面達到更好的效果。即使不使用這些特殊標籤,模型也能正常工作,但如果希望更輕鬆地控制模型,建議使用它們。
質量修飾符
質量修飾符 | 得分標準 |
---|---|
masterpiece |
>150 |
best quality |
100 - 150 |
high quality |
75 - 100 |
medium quality |
25 - 75 |
normal quality |
0 - 25 |
low quality |
-5 - 0 |
worst quality |
<-5 |
評級修飾符
評級修飾符 | 評級標準 |
---|---|
rating: general |
通用 |
rating: sensitive |
敏感 |
rating: questionable , nsfw |
有問題 |
rating: explicit , nsfw |
明確 |
年份修飾符
這些標籤有助於引導生成結果呈現現代或復古的動漫藝術風格,範圍從newest
到oldest
。
年份標籤 | 年份範圍 |
---|---|
newest |
2022 到 2023 |
late |
2019 到 2021 |
mid |
2015 到 2018 |
early |
2011 到 2014 |
oldest |
2005 到 2010 |
推薦設置
為了引導模型生成具有高美學價值的圖像,建議使用以下負面提示詞:
nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name
為了獲得更高質量的結果,建議在提示詞前添加:
masterpiece, best quality
然而,使用masterpiece
和best quality
時要小心,因為許多高分數據集包含NSFW內容。最好在負面提示詞中添加nsfw
和rating: sensitive
,在正面提示詞中添加rating: general
。建議使用較低的無分類器引導(CFG Scale),約為5 - 7,採樣步數低於30,並使用Euler Ancestral(Euler a)作為採樣器。
多 aspect 分辨率
本模型支持生成以下尺寸的圖像:
尺寸 | 縱橫比 |
---|---|
1024 x 1024 |
1:1 方形 |
1152 x 896 |
9:7 |
896 x 1152 |
7:9 |
1216 x 832 |
19:13 |
832 x 1216 |
13:19 |
1344 x 768 |
7:4 橫向 |
768 x 1344 |
4:7 縱向 |
1536 x 640 |
12:5 橫向 |
640 x 1536 |
5:12 縱向 |
🔧 技術細節
訓練和超參數
- Animagine XL 3.0 在配備80GB內存的2x A100 GPU上訓練了21天,超過500個GPU小時。訓練過程包括三個階段:
- 基礎階段:
- 特徵對齊階段:使用120萬張圖像讓模型熟悉基本的動漫概念。
- UNet 精煉階段:使用2500個精選數據集僅對UNet進行微調。
- 精選階段:
- 美學調整階段:使用3500個高質量精選數據集來優化模型的藝術風格。
- 基礎階段:
超參數
階段 | 輪數 | UNet學習率 | 是否訓練文本編碼器 | 文本編碼器學習率 | 批量大小 | 混合精度 | 噪聲偏移 |
---|---|---|---|---|---|---|---|
特徵對齊階段 | 10 | 7.5e - 6 | True | 3.75e - 6 | 48 x 2 | fp16 | N/A |
UNet精煉階段 | 10 | 2e - 6 | False | N/A | 48 | fp16 | 0.0357 |
美學調整階段 | 10 | 1e - 6 | False | N/A | 48 | fp16 | 0.0357 |
模型對比
配置項 | Animagine XL 2.0 | Animagine 3.0 |
---|---|---|
GPU | A100 80G | 2 x A100 80G |
數據集 | 170k + 83k 張圖像 | 1271990 + 3500 張圖像 |
打亂分隔符 | N/A | True |
全局輪數 | 20 | 20 |
學習率 | 1e - 6 | 7.5e - 6 |
批量大小 | 32 | 48 x 2 |
是否訓練文本編碼器 | True | True |
是否訓練特殊標籤 | True | True |
圖像分辨率 | 1024 | 1024 |
桶分辨率 | 2048 x 512 | 2048 x 512 |
源代碼和訓練配置可在以下鏈接找到:https://github.com/cagliostrolab/sd - scripts/tree/main/notebook
📄 許可證
Animagine XL 3.0現在使用Fair AI Public License 1.0 - SD,該許可證與Stable Diffusion模型兼容。主要要點如下:
- 修改共享:如果您修改了Animagine XL 3.0,必須同時共享您的修改內容和原始許可證。
- 源代碼可訪問性:如果您的修改版本可以通過網絡訪問,需要提供一種方式(如下載鏈接)讓他人獲取源代碼。這同樣適用於派生模型。
- 分發條款:任何分發都必須遵循此許可證或具有類似規則的其他許可證。
- 合規性:如果違反規定,必須在30天內進行修復,否則許可證將被終止,強調透明度和遵守開源價值觀。
選擇此許可證的目的是確保Animagine XL 3.0保持開放和可修改性,符合開源社區的精神。它保護了貢獻者和用戶的權益,鼓勵建立一個協作、道德的開源社區。這不僅確保模型受益於社區的投入,還尊重了開源開發的自由。
侷限性
⚠️ 重要提示
雖然“Animagine XL 3.0”在動漫文生圖生成方面取得了顯著進展,但瞭解其侷限性對於明確其最佳使用場景和未來改進方向至關重要。
- 概念優先於藝術風格:模型更注重學習概念而非特定的藝術風格,與前作相比,美學吸引力可能會有所不同。
- 非寫實設計:Animagine XL 3.0並非用於生成逼真或寫實的圖像,而是專注於動漫風格的藝術作品。
- 解剖結構挑戰:儘管有所改進,但模型在處理複雜的解剖結構時仍可能遇到困難,尤其是在動態姿勢中,偶爾會出現不準確的情況。
- 數據集侷限性:120萬張圖像的訓練數據集可能無法涵蓋所有動漫角色或系列,限制了模型生成不太知名或較新角色的能力。
- 自然語言處理:模型未針對自然語言解釋進行優化,為了獲得最佳結果,需要更結構化和具體的提示詞。
- NSFW內容風險:使用“masterpiece”或“best quality”等高質量標籤時,由於高分訓練數據集中此類圖像的普遍性,存在無意中生成NSFW內容的風險。
這些侷限性指出了未來迭代中可能需要改進的方向,強調了精心設計提示詞以獲得最佳結果的重要性。瞭解這些限制可以幫助用戶更好地利用模型的能力,併合理調整期望。
致謝
我們衷心感謝為Animagine XL 3.0的開發做出貢獻的整個團隊和社區,包括提供資源和重要見解的合作伙伴和協作者。
- 主要支持方:感謝提供開源資助支持我們的研究。
- Cagliostro Lab協作者:感謝在預訓練期間進行質量檢查和在微調期間整理數據集。
- Kohya SS:感謝提供重要的訓練腳本,併合並了我們關於
keep_tokens_separator
或打亂分隔符的PR。 - Camenduru服務器社區:感謝提供寶貴的見解、支持和質量檢查。
- NovelAI:感謝啟發瞭如何構建數據集並使用標籤排序進行標註。
協作者

