🚀 新派亞擴散模型 (開發中,模型仍在訓練,風格尚未成型)
新派亞擴散模型基於穩定擴散模型開發,起始模型採用 runwayml/stable-diffusion-v1-5,並使用從 https://www.neopets.com/funimages.phtml 網站的GIF中提取的圖像進行訓練。在訓練過程中,使用CLIP ViT - B/32(OpenAI)為每一個給定的標題/GIF對篩選出最匹配的GIF幀。選擇球面距離最小的幀並保存用於訓練,總共收集了約1950張尺寸約為100x100像素的圖像。
為了減少最終結果中的偽影,在Colab T4上對DreamBooth模型進行微調時,會以不同權重將“低分辨率”一詞添加到提示詞中(可參考此鏈接,瞭解Discord上有人關於在訓練文本反轉時使用負向詞的假設:https://cdn.discordapp.com/attachments/1008246088148463648/1041538692432527470/image.png)。
CLIP篩選出的GIF示例幀
標題 |
未處理的GIF |
篩選出的幀 |
"yurble_baby_clap" |
 |
 |
✨ 主要特性
- 基於穩定擴散模型,使用特定來源的GIF圖像進行訓練。
- 在訓練過程中採用CLIP篩選最佳匹配幀。
- 嘗試通過添加特定提示詞減少偽影。
📦 安裝指南
安裝必要的庫
⚠️ 重要提示
此模型目前僅可在至少配備一塊支持CUDA的NVIDIA GPU的計算機上運行。
pip install diffusers transformers ftfy scipy accelerate
登錄操作
若要登錄,需使用 huggingface-cli login
命令。
💻 使用示例
導入必要的庫
import torch
from torch import autocast
from diffusers.models import AutoencoderKL
from diffusers import StableDiffusionPipeline
創建管道
pipe = StableDiffusionPipeline.from_pretrained("doohickey/neopian-diffusion", use_auth_token=True)
pipe = pipe.to("cuda")
(可選)禁用NSFW過濾器
⚠️ 重要提示
不建議禁用此過濾器,但由於部分用戶在使用一些基礎提示詞時遇到問題,因此提供此選項。請確保保護未成年人和敏感用戶的安全。
def dummy(images, **kwargs):
return images, False
pipe.safety_checker = dummy
圖像生成
prompt = "my prompt"
with autocast("cuda"):
image = pipe(prompt=prompt, num_inference_steps=100, width=512, height=512, guidance_scale=15).images[0]
image.save("image.png")
🔧 技術細節
訓練詳情
階段1(0 - 8k步)
文本編碼器與UNet在半精度下共同訓練,佔總8000步的15%(即1200步),隨後僅對UNet進行訓練。採用多項式學習率衰減,起始學習率為2e - 6(fast - DreamBooth的默認值)。將“低質量”添加到1/3的提示詞中,訓練尺寸為448x448。
階段2(8k - 16k步)
文本編碼器在50%的步驟中進行訓練,隨機選擇“低質量”“低分辨率”“JPEG”添加到10%的提示詞中,起始學習率為1e - 6,訓練尺寸為384x384。
📄 許可證
本項目採用creativeml - openrail - m許可證。
📖 新派亞版權聲明
“請記住,如果您在非新派亞頁面上使用這些圖像,需要包含我們的版權聲明。” 詳情請見:https://www.neopets.com/terms.phtml