文章插图
作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 TensorFlow 实战系列:https://www.showmeai.tech/tutorials/43 本文地址:https://www.showmeai.tech/article-detail/312 声明:版权所有,转载请联系平台与作者并注明出处 收藏ShowMeAI查看更多精彩内容
文章插图
工具库 transformers 的开源方 Hugging Face 刚刚发布了一个用于构建 diffuser 模型的全新库 。如果您不知道diffuser模型是什么,你可以查看 ShowMeAI 的另外一篇文章介绍你给文字描述,AI 艺术作画 , 精美无比!附源码 , 快来试试! 。
随着 AI 技术的发展,我们现在在互联网上看到的那些美丽、富有创意、极具艺术美感的绘画与视频,很多是来自 AI 之手!典型的AI艺术创作例如 OpenAI 的 DALL-E2、谷歌的 Imagen 和 Midjourney 的产品,所有这些产品服务都使用 diffuser 模型,下图为一些创作结果 。
文章插图
Hugging Face 发布了一个专注于 diffuser 模型的开源库,我们可以基于它,仅仅通过几行代码就开始生成自己的艺术作画 。不过这个 diffuser 库是一个基础实现版本,训练和学习的数据也没有上面提到的几个大厂商业产品多,在本篇文章中,ShowMeAI 就带大家来探索新库,并生成一些我们自己的艺术画作,也对比一下相同文本提示下的大厂商业产品生成的结果 。
快速尝鲜我们先在命令行通过
pip install diffusers
安装本次使用到的工具库 , 然后导入我们需要用到的模块和功能(在这里我们调用整个扩散模型流水线 DiffusionPipeline),并且我们导入一个小型预训练模型ldm-text2im-large-256
:from diffusers import DiffusionPipelinemodel_id = "CompVis/ldm-text2im-large-256"# 预训练模型ldm = DiffusionPipeline.from_pretrained(model_id)
接着我们就可以基于这个预训练模型作画啦,我们唯一需要做的事情就是给模型一句文本提示(在 diffuser 模型里叫 prompt 提示) 。下面我们尝试生成一幅『松鼠吃香蕉』的画作 。# 给定文本提示和作画prompt = "A painting of a squirrel eating a banana"images = ldm([prompt], num_inference_steps=50, eta=.3, guidance_scale=6)images[0]
文章插图
上面就是模型最终生成的图像,当然受限于我们的计算资源和预训练模型大小,我们生成的图像不像 DALL-E 2 那样令人惊艳,但是我们仅仅用 5 行代码也生成了一副和提示文本匹配的图像,还是很让人感觉神奇 。
下面是『松鼠吃香蕉』的另一幅画:
images = ldm([prompt],num_inference_steps=100,eta=.3,guidance_scale=6)images['sample'][0]
文章插图
文本提示高分辨率自三大扩散模型(DALL-E 2、Imagen 和 Midjourney)发布以来,大家都开始发挥想象力 , 尝试各种各样的文本提示,让模型生成艺术图 。例如,许多人发现添加『4K画质』或『在Unity中渲染』可以增强三巨头生成的图像的真实感(尽管它们都没有以 4K 分辨率生成) 。
如果我们对 Hugging Face 的 diffuser 模型进行同样的尝试,会发生什么?
prompt = "a photorealistic image of a squirrel eating a banana"images = ldm([prompt],num_inference_steps=100,eta=.3,guidance_scale=6)images['sample'][0]
文章插图
文章插图
文章插图
很显然它还不能生成高清的 4K 图 , 但是图像中的一些细节有丰富一些 。
场景与逻辑我们把场景做得复杂一点点,比如给到的文本提示中,有不同的物体和位置关系,我们看看会生成什么样的结果,提示文字为
an italian person eating pizza on top of the colosseum in rome
。prompt = "an italian person eating pizza on top of the colosseum in rome"images = ldm([prompt],num_inference_steps=100,eta=.3,guidance_scale=6)images['sample'][0]
文章插图
看得出来 , 这个简单的 diffuser 模型在很努力地复现我们文本中提到的人、斗兽场、披萨,但是对于更细节的位置关系,似乎它还没有做得非常好,这里的人并没有坐在罗马斗兽场顶部,而且斗兽场的拱门颜色和天空颜色也不完全匹配 。
推荐阅读
- Dapr实现.Net Grpc服务之间的发布和订阅,并采用WebApi类似的事件订阅方式
- 中兴axon30pro发布时间_中兴axon30pro什么时候发布
- 魅族18和一加9对比_魅族18和一加9参数对比
- 从0搭建vue3组件库:自动化发布、管理版本号、生成 changelog、tag
- realme真我v15什么时候发布_realme锦鲤手机发布时间
- macbook pro m1芯片缺点_macbook pro m1芯片续航
- 华为watchgt2pro金卡限定版发布_有什么功能
- 三星s21有充电器吗_三星s21取消充电器吗
- 华为mate50发布时间确定_华为mate50官方首曝
- 真我v15参数_真我v15参数配置详情