共计 1488 个字符,预计需要花费 4 分钟才能阅读完成。
明天给大家分享一个乏味的 AI 我的项目 —— dalle-flow
。
该我的项目能够依据文本生成图片,GitHub 上曾经开源。
上面演示下我的项目成果,并介绍用到的算法。
1. 成果演示
以一个简略的例子给大家演示一下。
比方:咱们想为 a teddy bear on a skateboard in Times Square
(在时代广场玩滑板的泰迪熊) 这段文本生成一张图片。
将它输出dalle-flow
后,便能够失去上面的图片
是不是很神奇!
上面我用几行 Python 代码教大家应用这个我的项目。
首先,装置 docarray
pip install "docarray[common]>=0.13.5" jina
定义 server_url
变量,寄存 dalle-flow
模型地址
server_url = 'grpc://dalle-flow.jina.ai:51005'
server_url
是官网提供的服务,咱们也能够依照文档,将模型部署到本人的服务器(须要有 GPU)。
将文本提交到服务器,取得候选图片。
prompt = 'a teddy bear on a skateboard in Times Square'
from docarray import Document
da = Document(text=prompt).post(server_url, parameters={'num_images': 2}).matches
提交文本后,服务器会调用 DALL·E-Mega
算法生成候选图像,而后调用CLIP-as-service
对候选图像进行排名。
咱们指定 num_images
等于 2,最终会返回 4 张图片,2 张来自 DALLE-mega
模型,2 张来自 GLID3 XL
模型。因为 server_url
服务器在国外,程序运行工夫可能会比拟长,大家运行的时候要多等等。
程序运行完结后,咱们将这 4 张图片展现进去
da.plot_image_sprites(fig_size=(10,10), show_index=True)
咱们能够抉择其中一张,持续提交到服务器上进行diffusion
。
每张图左上角都有一个编号,这里我选的是编号为 2 的图片
fav_id = 2
fav = da[fav_id]
diffused = fav.post(f'{server_url}', parameters={'skip_rate': 0.5, 'num_images': 36}, target_executor='diffusion').matches
diffusion
其实是将选中的图片,送入 GLID-3 XL
模型,丰盛纹理和背景。
返回后果如下:
咱们能够从当选一张称心的图片作为最终的后果页。
fav = diffused[6]
fav.display()
2. 算法小常识
dalle-flow
我的项目应用起来尽管很简略,但波及的 DALL·E
算法却很简单,这里只简略介绍下。
DALL·E
的指标是把文本 token 和图像 token 当成一个数据序列,通过 Transformer 进行自回归。
这个过程跟 机器翻译 有些像,机器翻译 是将英文文本翻译成中文文本,而 DALL·E
将英文文本翻译成图片,文本中的 token 是单词,而图像中的 token 则是像素。
对 dalle-flow
我的项目感兴趣的敌人能够本人跑跑下面的代码,本人部署模型试试。
欢送大家的关注,继续分享有意思的 AI 我的项目。
以上就是本次分享的所有内容,如果你感觉文章还不错,欢送关注公众号:Python 编程学习圈,每日干货分享,发送“J”还可支付大量学习材料。或是返回编程学习网,理解更多编程技术常识。