根据文字生成图像,是近几年大模型领域比较热门的研究。我这篇文章主要记录如何使用百度的文心大模型实现文字生成图像。
PaddleHub旨在为开发者提供丰富的、高质量的、直接可用的预训练模型
文心ERNIE-ViLG参数规模达到100亿,是目前为止全球最大规模中文跨模态生成模型,在文本生成图像、图像描述等跨模态生成任务上效果全球领先,在图文生成领域MS-COCO、COCO-CN、AIC-ICC等数据集上取得最好效果。你可以输入一段文本描述以及生成风格,模型就会根据输入的内容自动创作出符合要求的图像。
目前ERNIE-ViLG的文心大模型API已经登入PaddleHub,只需通过4行代码就能实现强大的图文生成能力! 你可以输入一段文本描述以及生成风格,模型就会根据输入的内容自动创作出符合要求的图像。
例如:
1、安装PaddlePaddle
链接:https://www.paddlepaddle.org.cn/
如果只是为了体验图文生成的功能,可以安装CPU版本。
conda install paddlepaddle==2.3.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
更详细的安装步骤:https://www.paddlepaddle.org.cn/documentation/docs/zh/install/conda/windows-conda.html#anchor-0
2、安装PaddleHub
pip install --upgrade paddlehub
pip install docarray
新建个python脚本,插入下面的代码即可生成图像。
import paddlehub as hub
from docarray import DocumentArray,Document
erniv_vilg_module=hub.Module(name='ernie_vilg')
result=erniv_vilg_module.generate_image(text_prompts='香山,天鹅,亭子,古风,枫叶,概念艺术',style='水彩',output_dir='./output')
DocumentArray([Document().load_pil_image_to_datauri(image) for image in result[:6]]).plot_image_sprites()
参数:
返回
Prompt:简单原则:清楚地陈述 除了公式之外,也有一些简单的prompt设计原则分享给大家
这里的第一条原则是 要清楚的陈述
例如我们如果是简单的输入 风景的话,往往模型不知道我们想要的风景是什么样子的
我们要去尽量的幻想我们风景的样子,然后变成语言描述
例如我想想的是日落时,海边的风景
那我就构造了prompt
进一步的,我想风格化我的图像,所以我在结尾的部分,增加了 胶片感来让图片的色彩更加好看一些
但是云彩的细节丢失了一些
进一步的我再增加天边巨大云朵这一个细节,让我的图片朝着我想要的样子靠的更进一步
详见:https://wenxin.baidu.com/wenxin/docs#Ol7ece95m
下面举几个例子:
1、火焰,凤凰,少女,未来感,高清,3d, 精致面容,cg感,古风,唯美,毛发细致,全身立绘
result=erniv_vilg_module.generate_image(text_prompts='火焰,凤凰,少女,未来感,高清,3d, 精致面容,cg感,古风,唯美,毛发细致,全身立绘',style='古风',output_dir='./output')
输出结果:
2、巨狼,飘雪,蓝色大片烟雾,毛发细致,烟雾缭绕,高清,3d,cg感,侧面照
result=erniv_vilg_module.generate_image(text_prompts='巨狼,飘雪,蓝色大片烟雾,毛发细致,烟雾缭绕,高清,3d,cg感,侧面照',style='写实风格',output_dir='./output')
如果不想安装环境也可以在百度的网站上体验,链接:
https://wenxin.baidu.com/moduleApi/ernieVilg