🚀 新派亚扩散模型 (开发中,模型仍在训练,风格尚未成型)
新派亚扩散模型基于稳定扩散模型开发,起始模型采用 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