🚀 Emuru
Emuru 是一个条件生成模型,它将基于 T5 的解码器与变分自编码器(VAE)相结合,用于基于文本和风格图像进行图像生成。用户可以结合文本提示(例如风格文本、生成文本)和风格图像,创建新的合成图像。
✨ 主要特性
- 多模态输入:支持文本提示(风格文本、生成文本)和风格图像作为输入,实现多样化的图像生成。
- 灵活的生成能力:能够根据不同的文本和图像组合生成具有特定风格的图像,适用于多种场景。
- 集成先进架构:采用 T5 作为文本解码器,AutoencoderKL 作为 VAE 骨干网络,保证模型的性能和效果。
📦 安装指南
文档中未提及具体安装步骤,故跳过此章节。
💻 使用示例
基础用法
import torch
from PIL import Image
from transformers import AutoModel
from huggingface_hub import hf_hub_download
from torchvision.transforms import functional as F
def load_image(img_path):
img = Image.open(img_path).convert("RGB")
img = img.resize((img.width * 64 // img.height, 64))
img = F.to_tensor(img)
img = F.normalize(img, [0.5], [0.5])
return img
model = AutoModel.from_pretrained("blowing-up-groundhogs/emuru", trust_remote_code=True)
model.cuda()
style_text = 'THE JOLLY IS "U"'
gen_text = 'EMURU'
img_path = hf_hub_download(repo_id="blowing-up-groundhogs/emuru", filename="sample.png")
style_img = load_image(img_path)
style_img = style_img.cuda()
generated_pil_image = model.generate(
style_text=style_text,
gen_text=gen_text,
style_img=style_img,
max_new_tokens=64
)
generated_pil_image.save("generated_image.png")
高级用法
style_texts = ['THE JOLLY IS "U"', 'THE JOLLY IS "M"', 'THE JOLLY IS "R"']
gen_texts = ['EMURU', 'EMURU', 'EMURU']
style_imgs = torch.stack([style_img, style_img, style_img], dim=0)
lengths = [style_img.size(-1), style_img.size(-1), style_img.size(-1)]
output_images = model.generate_batch(
style_texts=style_texts,
gen_texts=gen_texts,
style_imgs=style_imgs,
lengths=lengths,
max_new_tokens=64
)
for idx, pil_img in enumerate(output_images):
pil_img.save(f"batch_generated_image_{idx}.png")
📚 详细文档
模型描述
-
架构:
Emuru 使用 T5ForConditionalGeneration 作为文本解码器,并使用 AutoencoderKL 作为 VAE 骨干网络。T5 模型对文本提示和部分解码的潜在表示进行编码,然后预测下一个潜在标记。VAE 既用于对初始风格图像进行编码,也用于将预测的潜在标记解码回图像。
-
输入:
- 风格图像:一张参考图像,Emuru 对其进行编码以捕捉其“风格”或其他视觉特征。
- 风格文本:描述风格或上下文的文本。
- 生成文本:描述要生成的内容或对象的文本。
-
输出:
- 一张反映融合风格和文本描述的合成图像。
-
分词:
Emuru 使用 AutoTokenizer 来处理文本提示,它会相应地调整 T5 的词汇表和标记嵌入。
-
使用场景:
- 风格化的文本到图像生成
- 基于文本描述的图像操作或设计原型制作
- 基于 T5 的生成式建模的研究或教育演示
🔧 技术细节
文档中未提及具体技术细节,故跳过此章节。
📄 许可证
本项目采用 MIT 许可证。
📝 引用
如果你在研究中使用了 Emuru 或希望引用它,请使用以下引用信息:
Wait for it...
信息表格
属性 |
详情 |
模型类型 |
条件生成模型 |
训练数据 |
blowing-up-groundhogs/font-square-v2 |
评估指标 |
FID、KID、HWD、CER |
库名称 |
t5 |
许可证 |
MIT |