ERNIE-ViLG文心跨模态AI绘画大模型——中文版stable-diffusion
上期图文教程,我们分享了stable-diffusion AI绘画大模型,且分享了如何使用stable-diffusion的代码实现过程,可以说stable-diffusion绘画模型开创了AI绘画的巅峰。
stable-diffusion模型,你也用AI生成获得一等奖的艺术图
stable-diffusion
stable diffusion模型是Stability AI开源的一个text-to-image的扩散模型,其模型在速度与质量上面有了质的突破,玩家们可以在自己消费级GPU上面来运行此模型,本模型基于CompVis 和 Runway 团队的Latent Diffusion Models。
虽然stable diffusion大模型可以进行文本到图片的绘画任务,但是stable diffusion毕竟是英文版本的模型,其输入的文字必须是英文的版本,这对很多英文不是很好的并不友好。本期我们就介绍一款适合中文的AI绘画大模型--ERNIE-ViLG文心跨模态AI绘画大模型。
stable diffusion
ERNIE-ViLG模型是什么
ERNIE-ViLG是一个知识增强跨模态图文生成大模型,将文生成图和图生成文任务融合到同一个模型进行端到端的学习,从而实现文本和图像的跨模态语义对齐。
文心ERNIE-ViLG 模型提出统一的跨模态双向生成模型,通过自回归生成模式对图像生成和文本生成任务进行统一建模,更好地捕捉模态间的语义对齐关系,从而同时提升图文双向生成任务的效果。文心 ERNIE-ViLG 在文本生成图像的权威公开数据集 MS-COCO 上,图片质量评估指标 FID(Fréchet Inception Distance)远超 OpenAI 的DALL-E等同类模型,并刷新了图像描述多项任务的最好效果。此外,文心ERNIE-ViLG还凭借强大的跨模态理解能力,在生成式视觉问答任务上也取得了领先成绩。
prompt:震撼的科幻插图,神秘宇宙背景,一只巨大的星球, 大场景,超高清,未来主义
ERNIE-ViLG是一个图文生产大模型,不仅可以进行文章的创作,知识问答,AI长时间对话,还有本期介绍的文本AI绘画。其他模型功能可以参考ERNIE-ViLG模型库进行使用。
https://www.paddlepaddle.org.cn
ERNIE-ViLG 代码实现
ERNIE-ViLG模型可以使用python代码进行实现,且无需要进行预训练模型的下载操作,本地只是提供文本信息,所有的计算有后台完成,后台计算完成后,会返回图片的地址,我们就可以通过浏览器来查看AI绘制的图片了。
在使用ERNIE-ViLG文心模型前,我们需要在ERNIE-ViLG文心官网上申请自己的app_key与app_secret,这2个参数在代码实现时需要。
prompt:二次元 少女 梦幻 长袍 冰霜 帅气 画师krenz,二次元
pipinstall--upgrade wenxin-api
然后使用pip来安装wenxin-api python第三方库,这里建议的python版本大于3.7
-*- coding: utf-8 -*importwenxin_api可以通过"pip install wenxin-api"命令安装fromwenxin_api.tasks.text_to_imageimportTextToImage
wenxin_api.ak ="your_ak"官网申请的app-keywenxin_api.sk ="your_sk"官网申请的app-secretinput_dict = {"text":"钢铁侠漂浮在科幻的外太空中","style":"未来主义","resolution":"1024*1024",也可设置为 1024*1536、1536*1024"num":"4",可设置的范围为[1,2,3,4,5,6]}
rst = TextToImage.create(**input_dict)print(rst)
安装完成wenxin api后,我们就可以使用python代码来实现AI绘画了
首先我们需要从wenxin_api中导入TextToImage
然后输入自己申请的wenxin_api的app-key与app-secret
input_dict中存在四个参数
钢铁侠漂浮在科幻的外太空中
text:string输入内容,长度不超过100个字
style:string图片风格,目前支持风格有:古风、二次元、写实风格、浮世绘、low poly 、
未来主义、像素风格、概念艺术、赛博朋克、洛丽塔风格、巴洛克风格、超现实主义、水彩画、
蒸汽波艺术、油画、卡通画
resolution:string图片尺寸,目前支持的有:1024*1024方图、1024*1536长图、1536*1024横图
num:int图片数量,目前支持可选1到6张
text参数是我们需要输入的文本信息,AI模型会根据此文本来生成对应的图片;
style是图片的样式;
resolution是图片的尺寸信息,当然,尺寸越大,其需要的时间越长;
num是一次生成的图片数量;这里默认是一张
模型运行完成后,并不会直接返回图片的数据信息,而是返回图片的一个ip地址,我们把ip地址输入浏览器中就可以直接看到AI模型生成的绘画图片了。
{"imgUrls":["https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157a","https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157a","https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157a","https://wenxin.baidu.com/younger/file/ERNIE-ViLG/61157a"]
}
prompt:浮世绘日本科幻幻想哑光绘画,动漫风格神道寺禅园英雄动作序列,包豪斯,概念艺术
当然若自己的电脑配置够高,完全可以使用自己的电脑进行ERNIE-ViLG模型的配置与运行。且ERNIE-ViLG模型已经加入到了paddlehub中,我们可以使用paddlehub来运行ERNIE-ViLG模型
pipinstall--upgrade paddlepaddlepipinstall--upgrade paddlehub
钢铁侠漂浮在科幻的外太空中
首先我们需要安装paddlehub与paddlepaddle,然后使用paddlehub的module来加载ERNIE-ViLG模型,并使用module的generate-image函数来生成AI绘画图片。
importpaddlehubashubmodule= hub.Module(name="ernie_vilg")
text_prompts = ["钢铁侠漂浮在科幻的外太空中"]
images =module.generate_image(text_prompts=text_prompts, style=未来主义,
output_dir=./ernie_vilg_out/)
参数
text_prompts(str): 输入的语句,描述想要生成的图像的内容。
style(Optional[str]): 生成图像的风格,当前支持油画,水彩,粉笔画,卡通,儿童画,蜡笔画,探索无限。
topk(Optional[int]): 保存前多少张图,最多保存6张。
output_dir(Optional[str]): 保存输出图像的目录,默认为"ernievilg_output"。
返回
images(List(PIL.Image)): 返回生成的所有图像列表,PIL的Image格式。