🚀 快速动漫提示生成器
快速动漫提示生成器是一个专注于动漫领域的提示生成模型。它基于大量安全的动漫提示数据进行训练,能够为用户生成高质量、富有创意的动漫相关提示,助力动漫创作。
🚀 快速开始
本模型在包含 80,000 条安全动漫提示的数据集上进行了 3 个轮次的训练。这些提示是从 Safebooru API 端点 获取的,但仅接受 点赞数 ≥ 8 且不包含任何 黑名单标签 的唯一提示。
由于 V1 模型经常生成无意义的提示,因此未发布该版本。在尝试各种方法纠正这一问题后,最终发现无意义提示的原因并非来自管道参数、模型结构或训练时长,而是训练数据中的随机用户名。
完整的 提示预处理算法 可参考此处。
✨ 主要特性
- 高质量训练数据:使用精心筛选的 80,000 条安全动漫提示进行训练,确保生成提示的质量。
- 有效解决问题:通过深入分析,找出并解决了模型生成无意义提示的问题。
📦 安装指南
pip install --upgrade transformers
💻 使用示例
基础用法
import torch
from transformers import GPT2Tokenizer, GPT2LMHeadModel, pipeline
tokenizer = GPT2Tokenizer.from_pretrained('distilgpt2')
tokenizer.add_special_tokens({'pad_token': '[PAD]'})
model = GPT2LMHeadModel.from_pretrained('FredZhang7/anime-anything-promptgen-v2')
prompt = r'1girl, genshin'
nlp = pipeline('text-generation', model=model, tokenizer=tokenizer)
outs = nlp(prompt, max_length=76, num_return_sequences=10, do_sample=True, repetition_penalty=1.2, temperature=0.7, top_k=4, early_stopping=True)
print('\nInput:\n' + 100 * '-')
print('\033[96m' + prompt + '\033[0m')
print('\nOutput:\n' + 100 * '-')
for i in range(len(outs)):
outs[i] = str(outs[i]['generated_text']).replace(' ', '').rstrip(',')
print('\033[92m' + '\n\n'.join(outs) + '\033[0m\n')
高级用法
在上述基础用法的基础上,你可以根据自己的需求调整 max_length
、num_return_sequences
、repetition_penalty
、temperature
和 top_k
等参数,以获得不同风格和数量的生成结果。
📚 详细文档
文本到图像示例
前缀 1girl | 生成的 1girl 提示 | 模型 Anything V4

前缀 1boy | 生成的 1boy 提示 | 模型 Anything V4

对比搜索
通过对比搜索可以生成更符合需求的文本,具体代码示例见上方“使用示例”部分。
输出示例

更多关于管道参数的信息,请参考 快速 GPT 提示生成器。
实用技巧
- 如果你觉得生成的动漫角色缺乏情感,可以在提示中尝试使用表情符号,如
;o
、:o
、;p
、:d
、:p
和 ;d
。也可以使用 happy smirk
、happy smile
、laughing closed eyes
等描述,让角色更加生动和富有表现力。
- 在提示中添加
absurdres
而不是 highres
和 masterpiece
,可以显著提高生成图像的清晰度和分辨率。
Danbooru 版本
Danbooru 版本链接
📄 许可证
本项目采用 CreativeML OpenRAIL-M 许可证。
📋 信息表格
属性 |
详情 |
模型类型 |
基于 GPT2 的动漫提示生成模型 |
训练数据 |
FredZhang7/anime-prompts-180K 数据集,筛选后使用 80,000 条安全动漫提示 |